Forum: Programmieren allgemein
by SirTwist,
20. Apr 2011
Sorry, natürlich heißt das Event CloseQuery....
am einfachsten definierst Du Deine Speichern()-Routine als Funktion, die einen Boolean zurückliefert, und zwar True genau dann, wenn alles gut gegangen ist.
Dann hättest Du nur noch mrYes: CanClose := Speichern();
Wobei natürlich die File-Auswahlbox in der Speichern()-Routine aufgerufen werden muss.
Forum: Programmieren allgemein
by SirTwist,
20. Apr 2011
Dein MainForm hat ein Ereignis OnCanClose. Hier schreibst Du eine Abfrage rein in der Form
procedure TForm1.FormCanClose(Sender: TObject; var CanClose: Boolean);
var rc: Integer;
begin
rc:= MessageDlg('Möchten Sie die Änderungen speichern?',
mtConfirmation, , 0);
case rc of
mrCancel: begin CanClose := False; exit; end;
mrYes: SaveData;