Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Formular soll beim Schließen ein Wert zurückgeben

  Alt 27. Feb 2019, 10:50
Würde ModalResult := mrCancel oder ModalResult := mrOK etwas bringen?
Ja wenn du das Formular mit ShowModal anzeigst. Da kannst du ganz einfach deinem z. B. OK-Button im Objekt-Inspektor das ModalResult setzen. Bei einem Abbrechen Button genau so. Da brauchst du gar keinen Code schreiben. Das ModalResult wird beim Button-Click automatisch im Form gesetzt. So kannst du es auswerten:

Delphi-Quellcode:
  if DeinForm.ShowModal = mrOK then
    //OK gedrückt
  else
    // anderes ModalResult
Wenn du mehr als nur OK und Abbrechen Button hast gehts auch so:
Delphi-Quellcode:
var
  FormResult: TModalResult;
begin
  FormResult := DeinForm.ShowModal;
  case FormResult of
    mrOK: // OK gedrückt;
    mrYes: // Ja gedrückt;
    ...
  end;

  // Du kannst das case auch um einen Else-Zweig erweitern:
  FormResult := DeinForm.ShowModal;
  case FormResult of
    mrOK: // OK gedrückt;
    mrYes: // Ja gedrückt;
  end
  else
    // ein anderes modalresult das nicht im case ist...
end;
Andreas Lauß
Blog
  Mit Zitat antworten Zitat