hab dies nun versucht - danke.
Doch wenn ich nun im Menü auf Beenden klicke werden die richtigen Fenster angezeigt ("Wirkliche Beenden"; Bei veränderter Datei: "Vor dem Beenden Speichern?").
Doch wenn ich nun über den Button "Close" aufrufe, beendet er das Programm nicht.
Wenn ich das "Kreuzchen drücke" (-D.h. OnClose direkt aufrufe) und dann auf Abbrechen drücke, beendet er das Programm trotzdem.
Das ganze sieht nun so aus:
Delphi-Quellcode:
procedure TForm1.Close(Sender: TObject);
var S: Integer;
begin
if OpenDialog1.FileName='' then begin
OpenDialog1.FileName:='Unbenannt'
end;
if Form1.SynMemo1.Text='' then begin
if Application.MessageBox('Programm wirklich Beenden?', 'eEdit', MB_ICONQUESTION + MB_YESNO) = IDYES then
exit
end
else begin
S := Application.MessageBox('Datei wurde geändert, vor dem Beenden abspeichern?', 'eEdit', MB_ICONQUESTION + MB_YESNOCANCEL);
if S=IDYES then begin
if SaveDialog1.Execute then begin
SynMemo1.Lines.SaveToFile(SaveDialog1.FileName);
exit;
end;
end;
if S=IDNO then
exit
end
end;
und: "Close" im OnClick des Beenden Buttons.
gruß,
shAd