Habe ein Programm zum Anzeigen von Kursen, welche laufend aktualisiert werden.
Bei auslesen der Zahlen mit einem Script treten immer wieder Lesefehler auf.
Kann man nun den Script veranlassen zu pausieren bis die Anwendung nicht mehr aktiv ist.
Prozessteuerung
-
- [ offen ]
-
emeuv -
27. Juli 2009 um 10:30 -
Geschlossen -
Erledigt
-
-
Hi,
z. Bsp:
While ProcessExist ("MeineExe.exe") <> ""
sleep (1000)
Wend;-))
Stefan -
Der Prozess (java.exe) wird ja nicht beendet. Die Datenübertragung läuft ja in kurzen Zeitintervallen.
-
Hi,
wie läuft denn das Update?
Wird gffs. in eine Textdatei geschrieben, die dann ausgelesen wird? Dann hilft Dir vielleicht ein fehlgeschlagenes FileOpen zum schreiben....
Gffs. hilft Dir ProcessGetStats ("java.exe", 1) -> Wenn sich $array [1] ( Anzahl der Schreib Operationen ) nicht ändert, dann weiter...;-))
Stefan -
-
Hi,
sowie ich die Funktion verstehe, werden Deine Daten über Paste and Copy aktualisiert.ZitatBei auslesen der Zahlen mit einem Script treten immer wieder Lesefehler auf.
Dann liegt Dein Problem am Clipboard. Du müsstest also schauen, ob beim ClipGet ein error Code gesetzt wird, oder den Inhalt von Clipboard nach dem Update überprüfen.;-))
Stefan
-
Nun im Fehlerfall wird die Funktion bis 20-mal wiederholt:
aber bei ca. 3% hilft dies auch nichts.Spoiler anzeigen
Code
Alles anzeigenFunc ZelleGetB($X,$Y,$Default) For $N = 1 To 20 $Var = ZelleGetA($X,$Y) If $Var <> "Error" Then ExitLoop Else $Var = $Default EndIf Next Return $Var EndFunc Func ZelleGetA($X,$Y) ClipPut("Error") MouseMove($X,$Y) MouseClick("left") Send("{CTRLDOWN}c{CTRLUP}") Sleep(10) Return ClipGet() EndFunc -
Hi,
sowie da aussieht kannst Du nur noch die Fehlerwiederholrate höher setzen: $N = 1 to 40 oder sogar 50....
;-((
Stefan