Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
2. Jul 2023
Ich meinte nur, weil es das ClicksDisabled auch schon in Delphi 5 gab. Ältere Versionen habe ich aktuell nicht mehr greifbar. Daher kann ich nicht sagen, in welcher Version das eingeführt wurde.
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
2. Jul 2023
Damit meinst du älter als Delphi 5?
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
29. Jun 2023
Genau dafür gibt es ja eben das ClicksDisabled. Das wird auch von den Actions so verwendet, wie dieser Code aus TButtonControl.ActionChange zeigt:
// prevent generating Action.OnExecute when the control gets checked
OldClicksDisabled := ClicksDisabled;
ClicksDisabled := True;
Self.Checked := Checked;
ClicksDisabled := OldClicksDisabled;
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
29. Jun 2023
Das ist nun mal das Standardverhalten.
Lösung 1 (quick-and-dirty): Du setzt das (allerdings protected) Property ClicksDisabled temporär auf True.
Lösung 2 (sauber aber aufwändig): Du verwendest zwei Actions, die einen gemeinsamen Status manipulieren bzw. überwachen.