RunCallback(func[, userdata])
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:
RunCallback
gesetzt. Dieses Feld ist eine Zeichenkette!
UserData:
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.
RunCallback(Function(msg) NPrint(msg.userdata) EndFunction, "Hello 2!") NPrint("Hello 1!") Repeat WaitEvent ForeverDadurch 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.