Verständnisfrage:
Kann mir jemand den Unterschied zwischen einem Event Handler und einem Callback erklären?
So wie ich das sehe läuft es für beide Begriffe auf die Funktion hinaus die zur Behandlung eines Ereignisses dient.
Nur wieso ist touch(...) ein Eventhandler
und llListen() eine callback Funktion?
Könnte es daran liegen, dass Listen diesen Identifier zurück gibt und dehalb im Gegensatz zu den normalen Eventhandlern mehrere "Instanzen" erzeugt werden können die aktiviert, deaktiviert und je nach Funktionsparameter voneinander verschieden sein können?
EDIT:
äh.... ich glaub, ich habs kapiert.
die Funktion
listen(integer channel, string name, key id, string message);
ist ein Eventhandler. Eine Routine, die das eintreten des Listen-Ereignisses behandelt. Der Code, den ich dieser Funktion in meinem Script hinterlege reagiert auf die Parameter. Kann also gucken wer hat was auf welchem Kanal gesagt.
Ich muss in meinem Script allerdings zusätzlich die Callbackfunktion llListen(integer channel, string name, key id, string msg) AUFRUFEN um die Filter zu setzen nach denem mein listen eventhandler überhaupt reagiert. Wenn ich also die Callbackfunktion llListen(0,"",owner,"") aufgerufen habe, wird mein eventhandler nur aktiv, wenn ich als Eigentümerin des Objektes was auf Kanal 0 sage.
Der Hauptunterschied besteht also darin, dass ich die eventhandler mit eigenem Code befülle, der bei Eintritt des Events ausgeführt wird - und Callbackfunktionen als fixe Bibliotheksroutinen aufrufe um z.B. Filterkriterien für das Auslösen bestimmter Events zu setzen.
... falls sich jetzt jemand denkt... "von was redet die eigentlich?"
... lasst mich halt ein bissle brabbeln.