Thema: Delphi Events für Interfaces ?

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

Re: Events für Interfaces ?

  Alt 28. Apr 2010, 14:42
Zitat von himitsu:
bei einem Objekt würde ich ein Event ja so Deklarieren
Delphi-Quellcode:
TInsightEvent = Procedure(Const Sender: IInsightItem) of Object;

Property OnInsight: TInsightEvent ...
Aber irgendwie sieht es etwas "unschön" aus, wenn ich jetzt eine Objekt-Methode in ein Interface reinmatsche.
Ich finde, das ist hier genau der richtige Weg. Das "of object" sagt ja nur etwas darüber aus, wo der Event implementiert wird und das ist letztendlich ja immer eine Klasse. Ob ich da jetzt eine Methode mit passender Signatur aber freiem Namen implementiere und diese dann dem Event zuweise, oder ein Interface implementiere und den Methodennamen mappe ist Geschmackssache. Es spricht nichts gegen den klassischen Event, auch wenn er über ein Interface gesetzt wird.

Es ist auch durchaus zulässig und sinnvoll, etwa solche Deklarationen in eine Interface-Deklaration zu packen:

procedure DoSomethingWith(AObject: TObject); Solange man sich nicht auf COM-Terrain begibt, besteht kein Hinderungsgrund Interfaces und Objekte zu mischen.
Uwe Raabe
  Mit Zitat antworten Zitat