wenn Du form1.close aufrufst, wird vorher der Closequery durchgeführt.
bei mir kommt es z.B. bei sowas hier zur anwendung:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var i : integer;
F : Textfile;
begin
begin
case MessageDlg('Sollen beim Schließen die Daten gespeichert werden?', mtConfirmation, [mbyes, mbno, mbcancel], 0) of
mrYes:
begin
//<daten speichern>
CanClose := true;
end; // mrYes:
mrNo:
begin
//<Daten nicht speichern>
CanClose := true;
end; // mrNo:
else
begin
//<Prog nicht schließen>
CanClose := false;
end; //else
end;//case
end //if
end; // FormCloseQuery