Zitat von
Real-TTX:
Was genau macht :
Delphi-Quellcode:
// Wenn Du es dann aufrufen willst z.B.
if @FEreignis <> nil then
FEreignis(40, 'Test');
Also die erste Zeile ist äquivalent zu
if Assigned(FEreignis) then
und prüft, ob hinter "FEreignis" auch wirklich ein zugewiesenes Ereignis (siehe unten) oder nichts (
nil) steckt.
Die zweite Zeile ist der Aufruf des Ereignis mit den gewünschten Parametern.
Zitat:
Warum eine Eigenschaft ? Wenn ich außerhalb der Klasse ein Ereigniss Definiere ?
Das Ereignis definierst Du außerhalb (z.B. in einem Formular)
Delphi-Quellcode:
procedure TForm1.MeinEreignis(Parameter1: Integer; Parameter2: string);
begin
// Reagiere auf das Ereignis hier...
end;
// Dann musst Du noch das Ereignis zuweisen
var
Klasse: TDeineKlasse;
begin
// ...
Klasse.DeinEreignis := Form1.MeinEreignis;
end;
In der Klasse ist "FEreignis" nun ein Zeiger auf Form1.MeinEreignis. Wenn ich also später "FEreignis(40, 'Test')" schreibe, wird Form1.MeinEreignis mit diesen Parametern aufgerufen.
Viele Grüße