Einzelnen Beitrag anzeigen

RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#4

AW: Wie Event-Handler der gemeinsamen Basisklasse auseinanderhalten?

  Alt 29. Apr 2011, 11:39
@Bummi:
Nein, der Event wird durch TMain verwaltet, es gibt TMain.RegisterEvent und TMain.UnRegisterEvent. In TMain ist also auch die Liste der Handler, die aufgerufen werden, wenn der Event feuert.

Wenn nun TSpec1 instanziert wird, dann ruft es TMain.RegisterEvent(EventHandler) auf. Dieses Verhalten ist komplett in TBase implementiert, incl. der Prozedur EventHandler. Das gleiche macht auch TSpec2. Daher erscheinen in der Liste von TMain nacheinander mehrere "Eventhandler"-Prozeduren mit gleichen Einsprungadressen.

@ChrisE:
Das würde sicherlich funktionieren, aber schön ist das nicht. Ein Event, der als Handler gleich eine ganze Klasse verlangt und dann beim Auslösen lediglich eine Methode daraus aufruft...
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat