Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Events programmieren - IF Assigned(...) Bedeutung?

  Alt 12. Feb 2007, 13:23
Die Komponente kann nicht sicherstellen, dass der Client (also der Part des Programms, der die Komponente einbindet), auch wirklich ein Event implementiert hat. Ein Button z.B. hat ein OnMouseMove Event. Das musst du als Entwickler aber nicht implementieren. Und wäre die TButton Klasse nun schlampig programmiert, würd dir immer ne Exception um die Ohren fliegenn, sobald du die Maus über den Button bewegst und du kein entsprechendes Eventhandler pflegst.

Um noch mehr auf Nummer sicher zu gehen, kannst du das if assigned sogar noch etwas ausweiten. Denn selbst wenn assigned(EventName) <> nil ist, heisst das noch lange nicht, dass EventName auch wirklich vom erwarteten Typ ist. Deshalb noch besser:

if Assigned(EventName) and (EventName is TEventName) Then EventName;
  Mit Zitat antworten Zitat