Hallo Manfred,
der einfachste Weg ist das Speichern der Information „Abfrage? Ja/Nein“ in einer globalen Variable.
Globale Variable zur Deklaration der TForm hinzufügen:
type
TForm1 = class(TForm)
…
private
{ Private-Deklarationen }
CloseImmediately: Boolean;
…
Beim Erstellen oder Anzeigen der Form (oder erst nach Ändern zu speichernder Werte) sollte das sofortige Schliessen erstmal verhindert werden:
procedure TForm1.FormShow(Sender: TObject);
begin
CloseImmediately:=false;
…
Zum Schliessen der Form ohne die Abfrage muss die globale Variable dann natürlich eingeschaltet werden :
…
CloseImmediately:=true;
Close;
…
In der OnClose-Prozedur muß dann entsprechend die Abfrage der globalen Variable erfolgen:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
If not CloseImmediately then MessageDlg(…
Gruss
U.Teichert