Thema: TNotifyEvents

Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: TNotifyEvents

  Alt 14. Jan 2020, 10:50
Zuerst mal würde ich mich von dem Schlagwort TNotifyEvent verabschieden. Das führt hier in die Irre. Du suchst nach einem Tutorial über Eventhandler. TNotifyEvent ist ein Eventhandler unter vielen. Oder genauer gesagt die Deklaration eines Eventhandler-Typen. Ich weiß, noch mehr Fragezeichen

Ein recht gutes Tutorial kommt von Embarcadero selbst.

Und um deine andere Frage zu beantworten: Die große Mehrheit der Eventhandler sind Prozeduren. Allerdings können technisch gesehen genauso gut auch Funktionen verwendet werden.

Warum sollte bzw. muss ich dann im zweiten Beispiel einen eigenen Event-Typen definieren? Wann macht sowas am meisten Sinn?
Außer zu Lernzwecken? Grundsätzlich solltest du immer erst schauen ob es für deinen jeweiligen Bedarf nicht schon passende Eventhandlertypen gibt.

Eventhandler sind nützlich, wenn du eine Klasse schreibst und diese in einer separaten Unit liegt. Wenn deine Klasse eine Prozedur in deinem Hauptprogramm aufrufen soll, muss sie ja wissen welche und muss sie auch erreichen können. In schlecht programmierten Codes entstehen bei sowas Kreuzbezüge bzw. zirkuläre Referenzen. Das heißt, die Unit1 bindet Unit2 ein und Unit2 bindet Unit1 ein. Die haben mich schon viele graue Haare gekostet.

Guter Code lagert Klassen in separate Units aus und weist keine zirkulären Referenzen auf. Um das zu erreichen, sind Eventhandler ein guter Weg.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (14. Jan 2020 um 10:58 Uhr)
  Mit Zitat antworten Zitat