![]() |
MessageDlg liefert falsches Ergebnis
Hallo ,
folgender Code funktioniert bei mir nicht :
Delphi-Quellcode:
Wenn ich im Dialog auf 'Yes' drücke, dann ist der Returnwert 3 (mrAbort) und nicht 6, was mrYes entsprechen würde.
procedure TForm1.Button1Click(Sender: TObject);
var nResult : integer; begin nResult := MessageDlg('Änderungen speichern?', mtConfirmation, [mbYes, mbNo, mbCancel], 0); case nResult of mrYes: ShowMessage('Yes'); mrNo: ShowMessage('No'); mrCancel: ShowMessage('Cancel'); else ShowMessage(IntToStr(nResult)); end; end; Wenn ich auf 'No' drücke, dann wird 4 (idRetry) zurückgegeben und nicht - wie erwartet - 7 (idNo). Nur der Cancel-Button funktioniert. Das Formular ist ein MDIClient. Kann mir das jemand erklären ? Gruß Marcus |
Re: MessageDlg liefert falsches Ergebnis
Sicher, dass du auch die MessageDlg aus der Unit Dialogs nimmst? Versuchs mal mit Dialogs.MessageDlg.
|
Re: MessageDlg liefert falsches Ergebnis
Hallo Christian,
Du hattest Recht. In der Unit des Formulars war die Unit QDialogs eingebunden - es wurde also die falsche MsgDialog-Funktion verwendet. Danke für die schnelle Hilfe. Gruß Marcus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz