Thema: Delphi Multicast Events

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

AW: Multicast Events

  Alt 23. Feb 2011, 09:46
Man bekommt den Owner und die Methode zusammen übergeben?

Delphi-Quellcode:
constuctor TEventHandler<T>.Create(OwnerMethod: T; AddEvents: array of T);
begin
  inherited Create(TComponent(TMethod(OwnerMethod).Data)); // Owner
  for M in AddEvents do
    Add(M);
end;
statt
Delphi-Quellcode:
eventHandler := TEventHandler<TNotifyEvent>.Create(Button1);
eventHandler.Add(ClickHandler1);
eventHandler.Add(ClickHandler2);
Button1.OnClick := eventHandler.Invoke;
einfach
Delphi-Quellcode:
eventHandler := TEventHandler<TNotifyEvent>.Create(Button1.OnClick);
eventHandler.Add(ClickHandler1);
eventHandler.Add(ClickHandler2);
oder gar so
TEventHandler<TNotifyEvent>.Create(Button1.OnClick, [ClickHandler1, ClickHandler2]); .

In dem TMethod (Button1.OnClick) steckt ja schon alles drin > die aufzurufende Methode und das Objekt, welches man als Owner verwenden kann.

Ja, ich geb's zu ... ich bin ein schreibfauler Programmierer , aber ich steh dazu
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Feb 2011 um 09:52 Uhr)
  Mit Zitat antworten Zitat