Sleep alternative

  • Hallo zusammen,

    ich habe ein Gui mit zwei Tabs, in Tab eins wird kontinuierlich etwas ausgeführt, zwischendurch soll alle paar Minuten die Funktion in Tab 2 durchgeführt werden.

    Durch die sleep zeit in tab zwei ist alles auf 'Eis', dementsprechend kann nur eine Funktion ausgeführt werden.

    Ich hätte aber gerne das Funktion eins kontinuierlich läuft und Funktion zwei alle paar Minuten ausgeführt wird.

    Ich habe jetzt 6 Stunden versucht eine Lösung zu finden, leider nichts gefunden.

    Kann man vielleicht ein gui haben und je Tab ein Script ausführen das diese sich quasi nicht berühren?

    Habt ihr eine idee? Oder muss ich tatsächlich ein zweites gui machen.

  • Das habe ich versucht, allerdings komme ich damit nicht weiter, da es einmal funktioniert und dann aufhört, wenn ich das allerdings in eine Endlosschleife mache führt es nur noch die Funktion aus und die im Tab 1 nicht mehr.

  • da es einmal funktioniert und dann aufhört,

    Dann hast du sicherlich einen kleinen Fehler eingebaut. Auch, wenn dein Problem mit AdlibRegister gelöst ist... Hier die Erklärung, nur zum Verständnis.

    Die Timer-Funktionen funktionieren wie folgt: Mit TimerInit "markierst" du praktisch einen Zeitpunkt, mit TimerDiff kannst du dann genau bestimmen, wie viel Zeit seit diesem Zeitpunkt vergangen ist (eben die Zeitdifferenz). Wenn du jetzt eine periodisch aufzurufende Funktion hast, dann musst du auch das in deiner Realisierung beachten. Es gäbe einige Möglichkeiten, wie man das auf Code-Ebene umsetzen kann; die einfachste ist, nach dem Aufruf deiner periodischen Funktion den Zeitpunkt, den du zur Messung benutzt, neu zu setzen, d.h. nach der periodischen Funktion nochmal TimerInit aufzurufen.
    Klingt kompliziert, ist es aber nicht.

    [autoit]


    $hTimer = TimerInit()
    While True
    If TimerDiff($hTimer) > 2500 Then
    Periodic()
    $hTimer = TimerInit()
    EndIf
    WEnd

    [/autoit]