Generell kannnst du das so machen:
Zuerst hier die Klasse, die das Event auslöst
Delphi-Quellcode:
type
TMeinEvent = procedure(Sender: TObject; Parameter: Integer) of Object;
TMeineAusloesendeKlasse = class(TBla)
private
fMeinEvent: TMeinEvent;
public
OnMeinEvent: TMeinEvent read fMeinEvent write fMeinEvent;
procedure IrgendEineProzedureDieDasEventAusloest;
end;
procedure TMeineAusloesendeKlasse.IrgendEineProzedureDieDasEventAusloest();
begin
if Assigned(fMeinEvent) then
fMeinEvent(self, 17);
end;
Und jetzt die Klasse, die das Event implementiert (heißt das so?!):
Delphi-Quellcode:
type
TMeineKlasse = class(TFoo)
private
fAndereKlasse: TMeineAusloesendeKlasse;
procedure AndereKlasseHatEventAusgeloest(Sender: TObject; Parameter: Integer);
public
constructor Create();
end;
constructor TMeineKlasse.Create();
begin
fAndereKlasse := TMeineAusloesendeKlasse.Create;
fAndereKlasse.OnMeinEvent := AndereKlasseHatEventAusgeloest;
end;
procedure TMeineKlasse.AndereKlasseHatEventAusgeloest(Sender: TObject; Parameter: Integer);
begin
showmessage('Here we go!');
end;