mojaSymfonia FORUM
https://forum.mix-soft.pl/

Sleep w AMBASIC
https://forum.mix-soft.pl/viewtopic.php?f=15&t=7435
Strona 1 z 1

Autor:  Mustrum [ 2016-09-13, 15:14 ]
Tytuł:  Sleep w AMBASIC

Witam, jest jakiś odpowiednik funkcji Sleep w AMBASIC, albo obejście problemu (bez zarzynania procesora)?

Pierwszą alternatywą, jaką zauważyłem, jest śpiące zapytanie do bazy. Łagodnie rzecz ujmując, nie jest to zbyt zgrabne.
Drugą możliwością, która przyszła mi do głowy jest napisanie innej śpiącej biblioteki COM, nim się za to zabiorę chciałbym wiedzieć czy nie istnieje prostsza alternatywa.

Autor:  rafal [ 2016-09-13, 15:49 ]
Tytuł:  Re: Sleep w AMBASIC

Do czego konkretnie chcesz uzyc sleep?
Na co chcesz czekac?

Autor:  Mustrum [ 2016-09-13, 16:06 ]
Tytuł:  Re: Sleep w AMBASIC

Utworzyłem bibliotekę COM z nowym oknem w nowym procesie. Czekam, aż użytkownik zamknie to okno, żeby zebrać dane i pójść dalej z raportem.
Dopisałem przed chwilą do niej funkcję spania (doszło do mnie, że skoro odpalam okno w innym procesie, nie będzie to miało na nie wpływu).

Autor:  rafal [ 2016-09-13, 19:15 ]
Tytuł:  Re: Sleep w AMBASIC

A raport nie poczeka jak otworzysz okno modalnie?

Autor:  Mustrum [ 2016-09-14, 08:19 ]
Tytuł:  Re: Sleep w AMBASIC

Czekałby, gdybym nie tworzył dla okna osobnego wątku. Oryginalnie myślałem o utworzeniu prostej komunikacji między raportem a biblioteką w czasie gdy okno jest otwarte, jednak sprawa uprościła się do zebrania wypełnionych danych.

Autor:  Jarek75 [ 2016-09-15, 11:49 ]
Tytuł:  Re: Sleep w AMBASIC

Ja chyba umieszczam execa sleep.exe albo sleep.vbs w katalogu programu. Nie znam dobrego obejścia.
Kod:
Dispatch wsh
int i
wsh = CreateObject("Wscript.Shell")
for i = 1 to i > 10
  Popup(1, (using "%l", i))
  wsh.Run(Katalog() + "sleep.vbs", 0, -1)
next i


W pliku sleep.vbs:
Kod:
WScript.Sleep 1000

Autor:  Arek44 [ 2016-12-05, 21:32 ]
Tytuł:  Re: Sleep w AMBASIC

Jarek75, czy ten kod działa u Ciebie? Testowałem na dwóch systemach i dostaję błąd wykonania OleDispatchException=0x80070002

Autor:  Jarek75 [ 2016-12-05, 22:20 ]
Tytuł:  Re: Sleep w AMBASIC

Działa. A ciekawe, czy na tych systemach możesz zwyczajnie kliknąć 2 razy w plik sleep.vbs? Bo ja mogę i nie dostaję żadnego błędu. Zmierzam do tego, że mogą być aktywne jakieś zabezpieczenia, które uznają plik vbs za zbyt ryzykowny do uruchomienia.

Autor:  Arek44 [ 2016-12-06, 23:16 ]
Tytuł:  Re: Sleep w AMBASIC

No właśnie u mnie też po dwukliku na pliku uruchamia się bez błędu. Dodałem MsgBox żeby było ładnie widać, czyli mam:
Kod:
WScript.Sleep 1000
MsgBox "TEST"

Wywołać próbuję w Forte czyli Symfonii ERP 2016.1.a, może tu tkwi przyczyna?

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/