Um auch mal meinen Mist dazu zu geben, obwohl schon alles gesagt ist
Ich mache das meistens so, dass im jeweiligen Formular eine globale boolsche Variable existiert. Die wird abgefragt wenn ein OnClick oder sonstwas ausgeführt wird. Bei Operationen, die keine Eventhandler auslösen sollen, wird die Variable vorher gesetzt und am Ende der Operation wieder zurückgesetzt.
Genauso mache ich das eigentlich auch:
"in der Logik"
Delphi-Quellcode:
//Feststellen, dass etwas in der GUI geändert werden muss
GUI.DoNotTriggerEvents := True;
//Änderungen in der GUI vornehmen
GUI.DoNotTriggerEvents := False;
"in der
GUI"
Delphi-Quellcode:
private
FDoNotTriggerEvents : Boolean;
public
property DoNotTriggerEvents ...
[...]
if Assigned(OnRadioGroupClick) and (not FDoNotTriggerEvents) then
OnRadioGroupClick(...);