Das OnClick einer Checkbox wird immer ausgelöst, wenn sich der Checked-Staus ändert, sei es durch Anklicken oder aus dem Programm heraus. Sollte vielleicht besser OnChecked heißen.
Ich mache es immer so. Ohne Actions oder ClassHelper oder Ableitungen
Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if not DoCheckBox1Click then
exit;
DoCheckBox2Click:=false;
CheckBox2.Checked := False;
DoCheckBox2Click:=true;
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if not DoCheckBox2Click then
exit;
DoCheckBox1Click:=false;
CheckBox1.Checked := False;
DoCheckBox1Click:=true;
end;
DoCheckBox1Click und DoCheckBox2Click natürlich irgenwo vorher sinnvoll auf true setzen.