info = WaitEvent()
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:
OnMouseDown
) verursacht.
Wenn WaitEvent()
zurückkehrt, ohne eine Callback-Funktion ausgeführt zu haben, wird dieses
Feld eine leere Zeichenkette enthalten.
ID:
ID
kann auch Null sein, falls ein Ereignis eintraf, welches mit keiner ID in Verbindung
gebracht werden kann.
Triggered:
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:
Results:
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.