Einzelnen Beitrag anzeigen

ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Application.Terminate mit Msg.Dialog geht nur über TrayIcon Menü

  Alt 24. Okt 2013, 19:51
Wenn ich aber bei der Form oben rechts auf das Kreuz zum beenden drücke, erscheint zwar der Message Dialog, dort macht er aber Application Terminate egal ob ich im Message Dialog Ok oder Cancel auswähle.
Versuche es nach folgendem Muster (entscheidend ist die Verwendung des Var-Parameters "CanClose"):
Delphi-Quellcode:
function TForm1.WarnOnClose: Boolean;
var
  Wnd: HWnd;
begin
  result := true;
  Wnd := FindWindow('notepad', nil);
  if Wnd <> 0 then
  begin
    result := MessageDlg('Notepad is still running! Really quit Programm?',
      mtWarning, mbokCancel, 0) = mrok;
  end;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := WarnOnClose;
end;
  Mit Zitat antworten Zitat