Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#1

MessageDLg beantwortet sich selbst?

  Alt 4. Okt 2017, 13:28
Delphi-Version: 10 Berlin
Hallo,

ich habe ein seltsames Verhalten, weiß nicht, warum das so ist und wie ich es beheben kann...

Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   CanClose:=false;
   if Editor.Modified then
    case MessageDlg('Text im Editor wurde bearbeitet. Soll vor dem Beenden dieser Text gespeichert werden?',mtConfirmation,[mbYes,mbNo,mbCancel],0) of
     idYes: begin btn_saveClick(btn_save); CanClose:=true; end;
     idNo: CanClose:=true;
     idCancel: CanClose:=false;
    end
   else CanClose:=true;
Ich habe den Dialog jetzt zunächst mit Cancel beantwortet, weil ich noch was nachgucken wollte.
Wenn ich jetzt die Anwendung wieder schließen will, poppt das Dialogfenster kurz auf und wieder weg. Im Debugger sehe ich, daß die Antwort einfach ohne Zutun auf idCancel springt.

Kann mir das Verhalten nicht erklären
  Mit Zitat antworten Zitat