Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#10

AW: on[XYZ]-Methoden: Nicht aufrufen wenn Programmcode die Komponente ändert

  Alt 22. Jul 2013, 16:06
Ich halte das gesamte Thema für einen riesigen dicken Design-Fehler in der VCL. Solche Dinge müssen ein OnChange auslösen, aber um Himmels Willen doch kein OnClick! Wer sich auch immer was dabei gedacht hat. Die netten Endlosschleifchen, die man sich durch Ändern einer zunächst nicht unbedingt Klick-Relevanten Property in diversen Controls auf diese Weise einhandelt, stehen in keinem Verhältnis zu dem geringen Aufwand (eben ein Methodenaufruf mehr), wenn dann doch mit einer Änderung aus dem Programm heraus Dinge passieren sollen, die sonst nur beim echten Click stattfinden sollen. Über diesen Unfug ist bestimmt fast jeder angehende Delphianer nach spätestens 1 Jahr gestolpert.

Ich mache es bei Events, die gerade mal nicht feuern sollen bei dem was da kommt, halt wirklich dann einfach so, dass ich den Handler zwischen speicher, meinen Kram mache, und nachher wieder zurück. Mit ein wenig Resourcenschutzblöcken kann man zumindest auch dann noch verhindern, dass einem Exceptions ein Control ohne Event-Handler hinterlassen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat