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 On
Click! 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)