![]() |
Problem mit MsgDialog
Ich führe folgende Anweisungen aus, wenn ich das Programm schließen möchte:
Delphi-Quellcode:
Wenn ich jetzt den Button "Yes" klicke, komme ich in den "else" Fall.
if(DataObject.bModifiedSincLastSave) then begin
tmp := MessageDlg(csWarningText, mtConfirmation, [mbYes, mbNo, mbCancel], 0, mbYes); case tmp of mrYes : SaveClick(self); // Speichern mrCancel: Result := False; // Anwender will weiterarbeiten mrNo : Result := True; // Programm darf geschlossen werden else ASSERT(b(False)); end; end; Was läuft da falsch? |
Re: Problem mit MsgDialog
Wie man erkennen kann, verwende ich QDialogs.
Wenn ich nur Dialogs folgendermaßen verwende, geht es einwandfrei:
Delphi-Quellcode:
Aber wieso geht das mit QDialogs nicht?
if MessageDlg('Wollen Sie speichern. ',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
Re: Problem mit MsgDialog
Erstens: Keine Ahnung, da ich QDialogs nicht verwende.
2 Tips hätt ich aber für dich und zwar. 1. Stimmt der Typ der tmp-Variable evtl. nicht ...? Byte statt integer z.B.? 2. Guck welche Werte die Konstanten haben z.B. mrYes und lass dir den Result-Wert anzeigen. Eventuell brauchst du andere Result-Konstanten, da diese nur für den VCL-Dialog sind?? |
Re: Problem mit MsgDialog
zu 1.
tmp ist von Typ Integer zu 2. würde ich auch tippen... aber wo finde ich die anderen Konstanten :gruebel: Ich fand nur mrYes etc. gruß scm |
Re: Problem mit MsgDialog
Notfalls guckste dir an was die Funktion als result-werte liefert und bindest die werte halt hardcoded ein, z.B.
Delphi-Quellcode:
case resultDialog of
1: 2: 15: end; |
Re: Problem mit MsgDialog
also bei mir funzt es sowohl it QDialogs als auch mit Dialogs.....
habe das wie folgt bei mir getestet:
Code:
procedure TMainForm.Button1Click(Sender: TObject);
var tmp: Integer; begin tmp := MessageDlg('test', mtConfirmation, [mbYes, mbNo, mbCancel], 0); case tmp of mrYes : ShowMessage('Yes'); mrCancel : ShowMessage('Cancel'); else ShowMessage('else');; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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-2025 by Thomas Breitkreuz