Kurz: Ja.
Lang:
Zitat:
Hast du in der Unit1 für MyFrame ein neues, eigenes Event angelegt?
Genau, In unit1 habe ich ein eigenes Event angelegt.
Das kannst du auch selbst sehen, wenn du dich mal die Klassen "herunterhangelst" <strg> und click auf die Grundklasse eine Komponente z.B: TButton, da stehen dann irgendwann ganz viele solcher Events.
2.
Zitat:
Weißt du in
Unit 3 diesem Event eine Funktion aus
Unit 3 zu
nicht ganz.
Im Grunde kannst du dir das so vorstellen wie bei den Messages.
Durch
Frame.OnDestroy := FrameDestroyed;
(sorry Fehler mit ":") wird dem Frame gesagt welche Prozedur aufgerufen/ausgelöst werden soll, wenn dieser Event auftritt. FrameDestroyed läuft immernoch in der Form. Damit man in der Form aber auf verschiedene Events reagieren kann ist ein Sender vorhanden. Da kann man dann den richtigen Sender herausfinden:
Delphi-Quellcode:
if Sender is TMyFrame then
(Sender as TMyFrame).irgendwas_spezielles; // oder auch .Name oder .ComponentName wenn das reicht.
Ergo Events sind im Grunde nur die
VCL-Kapselung von Messages.
Gruß David