Bezeichnung
RunCallback -- schiebt eine Callback-Funktion in die Ereigniswarteschlange (V9.0)
Übersicht
RunCallback(func[, userdata])
Beschreibung
Dieser Befehl fügt die in func angegebene Callback-Funktion der Ereigniswarteschlange hinzu. Die Funktion wird ausgeführt, wenn Hollywood das nächste Mal die Ereigniswarteschlange überprüft, d.h. wenn CheckEvent() oder WaitEvent() aufgerufen wird.

Mit dem optionalen Argument userdata können Sie zusätzliche Daten angeben, die an Ihre Callback-Funktion übergeben werden, wenn diese aufgerufen wird. Dies ist nützlich, wenn Sie globale Variablen vermeiden möchten. Sie können in userdata einen Wert eines beliebigen Typs angeben: Zahlen, Zeichenketten, Tabellen und sogar Funktionen können als Benutzerdaten übergeben werden.

Ihre Callback-Funktion wird von Hollywood mit einem einzigen Parameter aufgerufen. Der Parameter ist eine Nachrichtentabelle, die die folgenden Felder enthält:

Action:
Wird immer auf RunCallback gesetzt. Dieses Feld ist eine Zeichenkette!

UserData:
Wird beim Aufruf von RunCallback() auf das gesetzt, was Sie im Argument userdata angegeben haben. Beachten Sie, dass dieses Feld nur vorhanden ist, wenn Sie beim Aufrufen von RunCallback() tatsächlich einen Wert in userdata übergeben haben.

Eingaben
function
Funktion, die der Ereigniswarteschlange hinzugefügt werden soll
userdata
optional: Benutzerdaten, die bei der Ausführung an die Funktion übergeben werden sollen
Beispiel
RunCallback(Function(msg) NPrint(msg.userdata) EndFunction, "Hello 2!")
NPrint("Hello 1!")
Repeat
   WaitEvent
Forever
Dadurch wird zuerst "Hello 1!" und dann "Hello 2!" ausgegeben, weil die Funktion, die "Hello 2!" ausgibt, erst aufgerufen wird, wenn Hollywood die Ereigniswarteschlange leert, was mit WaitEvent() geschieht.

Navigation zeigen