Einzelnen Beitrag anzeigen

silver-moon-2000

Registriert seit: 18. Feb 2007
Ort: Schweinfurt
170 Beiträge
 
Delphi XE Professional
 
#11

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

  Alt 22. Jul 2013, 22:38
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(...);
Tobias
Bitte nicht hauen , ich weiß es nicht besser
  Mit Zitat antworten Zitat