Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#6

Re: TCheckBox.Checked löst OnClick aus?

  Alt 3. Jan 2010, 17:51
Hallo Leanahtan,

du hast recht. ich habe das gerade mal ausprobiert. Bei unten gezeigtem Code, kommt bei jedem Click auf den Button die MessageBox.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CheckBox1.Checked := not CheckBox1.Checked
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  ShowMessage('OnClick wurde ausgeführt');
end;
Ändert man es ab, wie Matze geschrieben hat, ist der Fehler weg. Das ist ja keine Fehler, sondern scheinbar bei Delphi normal.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CheckBox1.OnClick := nil;
  CheckBox1.Checked := not CheckBox1.Checked;
  CheckBox1.OnClick := CheckBox1Click;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  ShowMessage('OnClick wurde ausgeführt');
end;
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat