Registriert eine Adlib-Funktionalität.
AdlibRegister ( "function" [, time = 250] )
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. |
Erfolg: | 1. |
Fehler: | 0. |
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.
#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