Thema: Delphi Programm beenden

Einzelnen Beitrag anzeigen

shAd

Registriert seit: 26. Jul 2004
Ort: Stuttgart
19 Beiträge
 
Delphi 7 Professional
 
#1

Programm beenden

  Alt 27. Jul 2004, 16:16
Hallo,
Mein Programm kann man durch das Menü beenden, oder nunmal mit dem Windows "Kreuzchen". Nun habe ich bei dem Kreuz das Problem, das ich dort Probleme mit der Abfrage ("Wirklich Beenden?; "Vor dem Beenden Speichern?") bekomme. Wenn ich dort diesen Code benutze (der vom Beenden-Knopf im Menü):

Delphi-Quellcode:
procedure TForm1.Beenden1Click(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
   Form1.Close
   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);
  Form1.Close;
         end;
       end;

       if S=IDNO then
      Form1.Close
      end

end;
dann gibts Probleme, was irgendwie auch klar ist. Da wenn das Windows Kreuz gedrückt wird OnClose vom Form1 benutzt wird.

Auf gut Deutsch, ich würde am liebsten das schließen durch das Kreuz umfangen, und dann durch meinen Code "ersetzen". Oder gibts im OnClose die Möglichkeit das Beenden abzubrechen? Das währe auch ne Möglichkeit.

Den mit meinem Code im OnClose würde sich das Programm ja beenden, egal auf was für einen Knopf man drückt. Hauptsache, er ist durch mit der Prozedur.

gruß,
shAd
Er erreichte einen Speisesaal. Wenn man an dem dort stehenden langen Tisch Platz nahm, so konnte man ziemlich sicher sein, daß die Leute am gegenüberliegenden Ende in einer anderen Zeitzone saßen.
- Terry Pratchett in Wachen! Wachen!
  Mit Zitat antworten Zitat