Thema: Delphi Event Handling

Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Event Handling

  Alt 22. Jun 2009, 17:20
Ich glaube, dass du eine falsche Vorstellung von einem Event hast.
Zitat:
Ich hol erst mal aus, ein Event ist irgendeine Methode die von einem (internen?) Thread gehandelt wird. Dieser ist quasi als Observer geschrieben und benachrichtigt alle die an diesem Thread hängen wenn sich eine Methode ändert.
Ein Event ist erstmal eine ganz normale Variable. Im Gegensatz zu .NET-Sprachen handelt es sich dabei also nicht direkt um ein Sprachkonstrukt. Diese Variable kann eine einzige Methode speichern. Außerdem kann diese Methode dann wieder abgerufen und aufgerufen werden. Genau das passiert irgendwo in den Innereien von TBrowser. Es handelt sich dabei nicht um irgendwelche Magie, sondern in irgendeiner Methode steht explizit FEvent('foo') o.Ä.
Jetzt sollte aber auch klar sein, warum die Zuweisung so aussehen muss, wie sie aussieht: Die Methode selbst wird nicht verändert, lediglich das Feld in der Objektinstanz erhält einen neuen Wert.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat