Funktionreferenz


AdlibRegister

Beschreibung anzeigen in

Registriert eine Adlib-Funktionalität.

AdlibRegister ( "function" [, time = 250] )

Parameter

function Der Name der Adlib-Funktion, die registriert werden soll.
time [optional] Wie häufig die Funktion in Millisekunden aufgerufen werden soll. Standard ist 250 ms.

Rückgabewert

Erfolg: 1.
Fehler: 0.

Bemerkungen

Alle 250 ms (oder time ms) wird die angegebene "Funktion" aufgerufen. Es ist zu beachten, dass der erste Aufruf der Funktion nach der angegebenen Zeitspanne erfolgt und nicht sofort, wenn die Funktion registriert wird.
Normalerweise wird die Funktion verwendet, um auf unvorhergesehene Fehler zu prüfen. Man kann z.B. adlib in einem Skript verwenden, das unvorhersehbar ein Fehlerfenster auftauchen lässt.
Die adlib Funktion sollte einfach gehalten werden, da sie oft ausgeführt wird und während dieser Zeit das Skript pausiert.
Außerdem sollte vorsichtig mit dem time-Parameter umgegangen werden um unnötige CPU-Last zu vermeiden.
Es können keine Funktionen registriert werden die Parameter enthalten.

Manche Adlib-Funktionen können bereits registriert sein. Ein erneutes registrieren einer bereits existierenden Adlib-Funktion erneuert diese mit einer neuen Zeit.

Verwandte Funktionen

AdlibUnRegister

Beispiel

#include <MsgBoxConstants.au3>

If ProcessExists("SciTE.exe") = 0 Then
    MsgBox($MB_SYSTEMMODAL, "", "Es wird die SciTE.exe benötigt, damit in der Konsole die Meldungen gelesen werden können.")
EndIf

Example()

Func Example()
    ; Registriert die Funktion MyAdLibFunc(), welche alle 250ms aufgerufen wird (Standard).
    AdlibRegister("MyAdLibFunc")

    ; Trotz der Pause läuft die AdLib Funktion weiter.
    Sleep(1000)

    ; AdLib Funktionen laufen nicht während eine blockierende Funktion wie z. B. MsgBox, InputBox, WinWait, WinWaitClose, usw. gezeigt wird.
    MsgBox($MB_SYSTEMMODAL, "", "Es wird keine Meldung in der Konsole gezeigt während das Nachrichtenfenster angezeigt wird.")

    ; Die AdLib Funktion MyAdLibFunc() beginnt erneut.
    Sleep(2000)

    ; Deregistriert die Funktion MyAdLibFunc(), welche alle 250ms aufgerufen wird (Standard).
    AdlibUnRegister("MyAdLibFunc")
EndFunc   ;==>Example

Func MyAdLibFunc()
    ; Weist eine statischen Variable zu um die Anzahl der Funktionsaufrufe festzuhalten.
    Local Static $iCount = 0
    $iCount += 1

    ConsoleWrite("MyAdLibFunc wurde " & $iCount & " mal aufgerufen" & @CRLF)
EndFunc   ;==>MyAdLibFunc