Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.051 Beiträge
 
Delphi 2009 Professional
 
#8

AW: MessageDlg mit falschem Default

  Alt 12. Sep 2018, 20:44
Hier noch ein Beitrag zum Thema „MessageDlg macht komische Dinge bis Delphi XE“ (getestet mit 2009):

Delphi-Quellcode:
case MessageDlg('Ja oder nein?', mtWarning, mbYesNo, 0) of

end;
Wie viele verschiedene TModelResult kann der Nutzer anklicken?

Lösung (Zeile markieren): Drei, nämlich mrYes, mrNo und mrCancel.

Folgender Code funktioniert zwar in XE2, bringt einen aber in vorherigen Versionen in große Schwierigkeiten, wenn der Nutzer auf die Idee kommt, Esc zu drücken oder auf X zu klicken und sich wundert, warum alle Dateien weg sind.
Delphi-Quellcode:
if MessageDlg('Möchten Sie alle Dateien auf ihrem Computer löschen?', mtWarning, mbYesNo, 0) = mrNo then Exit;
LöscheAlleDateien();
Wer also noch mit diesen Versionen unterwegs ist und MessageDlg benutzt: Passt bloß auf! Der CnPack-Designer macht es nämlich auch falsch.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat