Hallo,
ich arbeite gerade zum Lernen ein paar Komponenten-Sourcecodes durch. Dabei ist mir folgendes aufgefallen:
In einer Komponente wurde folgendes selbsterklärendes Event erstellt:
FOnMouseExit : TNotifyEvent;
Der Aufruf erfolgt weiter unten im Source in einer Prozedur, welche die Message wm_mouseexit o.ä. abfängt, wie folgt:
Delphi-Quellcode:
if assigned(FOnMouseExit) then
FOnMouseExit(Self);
So weit so gut. Ich habe es aber bisher immer so gemacht, daß ich ein Ereignis zuerst definiert habe mit
Delphi-Quellcode:
Type TMeinEreignis = procedure of object;
[...]
VAR MeinEreignis : TMeinEreignis;
[...]
Das Auslösen des Ereinisses erfolgte analog zu o.g. Beispiel - und funktioniert übrigens ebenfall tadellos. Nun meine Frage: Wo ist der Unterschied / vor- oder Nachteil der beiden Funktionen?!?
Noch was: Gibt es irgendwo im Netz gute Tutorials zum Thema Event und Messages. Ich arbeite mich da gerade zwar ein, aber steige irgendwie noch nicht ganz durch. Die ganzen WM_xxx messages SC_xxx etc. bringen mich noch ziemlich durcheinander, ebenso die messages, welche noch parameter besitzen (z.B. WM_KEYUPMSG o.ä.). Die Einsteigertutorials des Forums habe ich übrigens schon durchgearbeitet, ich würde aber gerne mehr "Hinter die Kulissen" schauen.
Hoffe Ihr könnt mir weiterhelfen,
SCRaT