Bezeichnung
WaitEvent -- wartet auf ein Ereignis
Übersicht
info = WaitEvent()
Beschreibung
Der Befehl WaitEvent() setzt Hollywood in den Schlafzustand. Das Programm wird aktiv, wenn ein Ereignis ausgelöst wird. In diesem Fall wird WaitEvent() die Funktion ausführen, die Sie für dieses Ereignis installiert haben und kehrt dann wieder zurück. Daher müssen Sie immer WaitEvent() in einer Schleife verwenden. Beispielsweise:

 
While quit = False
   WaitEvent
Wend

Oder Sie nutzen eine Endlosschleife:

 
Repeat
   WaitEvent
Forever

WaitEvent() ist ein Kernbefehl der Hollywoodsprache und Sie sollten ihn in der Hauptschleife in jedem Skript verwenden. WaitEvent() hat den Vorteil, dass er schläft, bis ein Ereignis ausgelöst wird. Dies ist wichtig in einer Multitasking-Umgebung, da sie Rechenzeit sparen. Verwenden Sie niemals Abfrageschleifen! Sie verbrauchen alle CPU-Zeit. Wenn Sie Code in Ihre Hauptschleife ständig ausführen müssen, verwenden Sie SetInterval(), um eine Intervallfunktion zu installieren, die 25-mal pro Sekunde durch WaitEvent() aufgerufen wird.

Die Funktionen, die WaitEvent() aufruft, wenn ein Ereignis ausgelöst wird, kann mit den folgenden Befehlen der Hollywood-Ereignisbibliothek installiert werden: MakeButton(), SetInterval(), SetTimeout() und InstallEventHandler().

Beachten Sie, dass WaitEvent() nicht von Callback-Funktionen aufgerufen werden kann, die von WaitEvent() ausgeführt werden. Im Allgemeinen sollten Sie WaitEvent() nur einmal in Ihrem Skript verwenden: In Ihrer Hauptschleife. Wenn Sie wirklich Ereignisse in einem von WaitEvent() ausgeführten Callback-Funktion verarbeiten müssen, verwenden Sie stattdessen den Befehl CheckEvents(). Dies sollte jedoch normalerweise nicht erforderlich sein.

WaitEvent() liefert eine Tabelle, die Informationen über die gerade ausgeführt Callback-Funktion enthält. Die folgenden Felder werden in dieser Tabelle initialisiert werden:

Action:
Enthält den Namen des Ereignisses, welches die Callback-Ausführung (z.B. OnMouseDown) verursacht. Wenn WaitEvent() zurückkehrt, ohne eine Callback-Funktion ausgeführt zu haben, wird dieses Feld eine leere Zeichenkette enthalten.

ID:
Enthält die ID des Objekts, das die Callback-Funktion (zum Beispiel eine Display-ID) aufgerufen hat. ID kann auch Null sein, falls ein Ereignis eintraf, welches mit keiner ID in Verbindung gebracht werden kann.

Triggered:
Wird auf True gesetzt werden, wenn WaitEvent() eine Callback-Funktion ausgeführt hat und dann die die Kontrolle an das Skript zurückgibt. Wenn dies auf False gesetzt ist, dann hat dies ein anderes internes Ereignis verursacht und WaitEvent() gibt die Kontrolle an das Skript zurück.

NResults:
Enthält die Anzahl der Werte, die die Callback-Funktion zurückgibt (z.B. 1). Dies wird 0 sein, wenn keine Werte zurückgegeben wurden oder wenn überhaupt keine Callback-Funktion ausgeführt wurde.

Results:
Wenn NResults größer als 0 ist, wird diese Tabelle alle Werte enthalten, die die Callback-Funktion zurückgibt. Sonst wird diese Tabelle überhaupt nicht vorhanden sein. Diese Tabelle können Sie leicht dazu verwenden, um zusätzliche Informationen von Ihrer Callback-Funktion dem Hauptprogramm zu übergeben.

Eingaben
Keine

Rückgabewerte
info
Rückgabewerte von einer zuvor ausgeführten Ereignis-Funktion; normalerweise benötigen Sie diese nicht und Sie können sie ignorieren
Beispiel
Siehe MakeButton
Siehe SetInterval
Siehe SetTimeout
Siehe InstallEventHandler


Navigation zeigen