Hallo,
vor dem Beenden des Programms soll geprüft werden ob gespeichert wurde. Wenn nicht gespeichert wurde (saved := false)
soll sich der Speichern Dialog öffnen bzw. die vorhandene Datei überschrieben werden(Speichern2Click(Sender)).
Das funktioniert auch auch alles schön wenn man auf das X oben rechts drückt und FormCloseQuery direkt aufgerufen wird.
Wenn ich aber übder das MainMenü beenden möchte und ich "manuell" das FormCloseQuery (FormCloseQuery(Sender,b)) aufrufe beendet das Programm nicht.
Habt ihr eine Idee woran das liegen könnte?
Vielen Dank schonmal im Vorraus. Unten ist der Quelltext mit den problematischen Funktionen.
Gruß Esco
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if saved = false then if MessageDlg('Vor dem Beenden speichern?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Speichern2Click(Sender); CanClose := true; end;
procedure TForm1.Beenden1Click(Sender: TObject); var b : boolean; begin b := true; FormCloseQuery(Sender,b); end; |