Delphi-Quellcode:
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := ( MessageDlg('Wollen sie wirklich beenden ?', mtConfirmation,[mbYes,mbNo],0) = mrYes );
end;
So einfach is des
Wichtig im
OnCloseQuery der Form nicht im
onClose,
der Grund ist einfach
OnCloseQuery wird vor dem eigentlichen Schliessen der Form aufgerufen,
onClose im Prinzip nach dem schliessen und vor dem Beenden/Speicher freigeben.
Das es bei Dir in einer endlos Schleife hängt ist dann glaub ich auch zu verstehen
Form fragt an ob geschlossen werden darf...
wenn der Nutzer Ja sagt fragt Dein Close gleich erneut wieder die OnCloseQuery ab.
Bei nein wird CanClose (Standard ist True) nicht verändert daher darf die Form schliessen.
gruss
Dennis