Hallo. Ich weiß jetz nicht, ob du das so gemeint hast, aber ich hab das so verstanden: Wenn der Benutzer eine Checkbox markiert, soll bei einem Klick auf den [x] Button das Programm minimiert werden. Wenn der Benutzer die Checkbox wieder checked := false macht, soll das Prog beendet werden.
Warum machst du das dann nicht so
Delphi-Quellcode:
var Beenden : Boolean = true;
procedure TForm1.btnBeendenClick(Sender: TObject);
begin
Beenden := true;
Close;
end;
procedure TForm1.chbMinimierenClick(Sender: TObject);
begin
Beenden := not chbMinimieren.checked;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
IF Beenden = true
THEN
CanClose := true
ELSE
begin
CanClose := false;
Application.Minimize;
end;
Beenden := false;
end;
Bevor das Programm beendet werden kann, wird abgefragt, ob die Variable Beenden auch true is, d.h ob das Programm tatsächlich beendet werden soll, oder nur minimiert.