Einzelnen Beitrag anzeigen

marc1234

Registriert seit: 17. Jan 2006
5 Beiträge
 
#1

MessageDlg liefert falsches Ergebnis

  Alt 17. Jan 2006, 12:49
Hallo ,

folgender Code funktioniert bei mir nicht :

Delphi-Quellcode:
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 im Dialog auf 'Yes' drücke, dann ist der Returnwert 3 (mrAbort) und nicht 6, was mrYes entsprechen würde.
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
  Mit Zitat antworten Zitat