Hallo liebes Forum, hätte da mal wieder 'ne Frage, weil's mich zur Zeit total nervt, da es mir den geordneten Ablauf meines Programms über den Haufen wirft. Und zwar möchte ich eine User-Entscheidung abfragen, aber wenn ich folgenden (Beispiel-)Code eingebe:
Code: Alles auswählen
case QuestionDlg('Dialog Test','Bitte klicken Sie auf einen Knopf',
mtInformation,[mbYes,'Ja, ich will',mbNo,'Lass mich in Ruhe',mbCancel,
'Fenster schließen ohne irgendwas',mbIgnore,'Zurück zur Basis'],'') of
mrYes: ShowMessage('Gedrückt wurde mrYes '+#10#13+'mit dem Wert von: '+
IntToStr(mrYes));
mrNo: ShowMessage('Gedrückt wurde mrNo '+#10#13+'mit dem Wert von: '+
IntToStr(mrNo));
mrIgnore: ShowMessage('Gedrückt wurde mrIgnore '+#10#13+'mit dem Wert von: '+
IntToStr(mrIgnore));
mrCancel: ShowMessage('Gedrückt wurde mrCancel '+#10#13+'mit dem Wert von: '+
IntToStr(mrCancel));
else ShowMessage('Gedrückt wurde irgendwas anderes');
end;
...kommt bei den ersten 3 Buttons "Gedrückt wurde was anderes", beim 4. Button und beim "x" oben rechts kommt "Gedrückt wurde mrYes...". Das soll doch so wohl nicht sein?!? Die Units "Dialogs", "LCLType","Controls" und "Forms" sind drin. Wenn ich "else" am Schluss weglasse, schließt das Abfragefenster ohne eine Message bei den ersten drei Buttons. Hab ich irgendwas übersehen oder falsch gemacht? Vielleicht seh' ich den Wald vor lauter Bäumen nicht, aber gemäß den gegoogelten Beispielen und Erklärungen müsste der Code eigentlich passen. Weiß jemand Rat?
Liebe Grüße