Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Objekte zur laufzeit erstellen und NEUE events zuordnen

  Alt 4. Jan 2010, 14:32
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;
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat