Autor Beitrag
esco
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 09.12.06 11:30 
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

ausblenden 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;
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 09.12.06 11:35 
Du machst ja auch zuviel. Das hier reicht :

user profile iconesco hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Beenden1Click(Sender: TObject);
begin
  Close;
end;


Dadurch wird das FormCloseQuery sowieso aufgerufen.

_________________
Gruß
Hansa
esco Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 09.12.06 11:47 
danke! funktioniert bestens :)