Bezeichnung
CheckEvent -- überprüft ein Ereignis ohne zu blockieren (V1.9)
Übersicht
info = CheckEvent()
Beschreibung
Dieser Befehl prüft, ob sich ein Ereignis in der Warteschlange befindet. Wenn ja, wird CheckEvent() das Ereignis aus der Warteschlange entfernen und die Callback-Funktion ausführen. Wenn sich kein Ereignis in der Warteschlange befindet, wird das Skript sofort nach CheckEvent() weiter geführt.

CheckEvent() gibt eine Tabelle in info zurück, die Informationen darüber enthält, ob es eine Callback-Funktion ausgeführt hat. Die folgenden Felder werden in dieser Tabelle initialisiert:

Action:
Enthält den Namen des Ereignisses, das die Callback-Ausführung verursacht hat (z.B. OnMouseDown). Wenn CheckEvent() keine Callback-Funktion ausgeführt hat, wird dieses Feld auf eine leere Zeichenkette gesetzt.

ID:
Enthält die ID des Objekts, welches die Callback-Ausführung (zum Beispiel ein Display-Identifikator) verursacht hat. ID kann auch Null sein, falls ein Ereignis verursacht wurde, das keine ID hat.

Triggered:
Wird auf True gesetzt, wenn CheckEvent() eine Callback-Funktion ausgeführt hat.

NResults:
Enthält die Anzahl der Werte, die der Benutzer-Callback zurückgegeben hat (z.B. 1). Diese wird 0 sein, wenn der Benutzer-Callback keine Werte zurückgegeben hat oder überhaupt kein Benutzer-Callback lief.

Results:
Wenn NResults größer ist als 0, wird diese Tabelle alle Werte enthalten, die der Benutzer-Callback zurückgibt. Sonst wird diese Tabelle überhaupt nicht vorhanden sein. Diese Tabelle können Sie leicht für zusätzliche Informationen verwenden, die Sie von Ihrem Callback an das Hauptprogramms übergeben.

CheckEvent() ist ähnlich wie der Befehl WaitEvent() mit dem Unterschied, dass WaitEvent() die Ausführung des Skripts blockiert, bis ein Ereignis eintritt, während CheckEvent() sofort beendet wird, wenn kein Ereignis vorhanden ist. Mit diesem Befehl können Sie etwas erledigen, während auf ein Ereignis gewartet wird. Mit WaitEvent() wäre dies nicht möglich.

Beachten Sie, dass CheckEvent() nur ein einzelnes Ereignis aus der Ereigniswarteschlange verarbeitet. Wenn Sie alle Ereignisse behandeln möchten, die derzeit in der Ereigniswarteschlange sind, müssen Sie CheckEvents() verwenden. Siehe CheckEvents für Details.

Bitte beachten Sie auch, dass Sie im Allgemeinen CheckEvent() nur dann verwenden sollten, wenn Sie ihn wirklich brauchen. WaitEvent() ist in der Regel die bessere Idee als CheckEvent().

Eingaben
Keine

Rückgabewerte
info
Tabelle mit Informationen darüber, ob ein Ereignis aufgetreten ist oder nicht, und der Rückgabewert des Benutzer-Callback, falls er aufgerufen wurde.

Navigation zeigen