Einzelnen Beitrag anzeigen

delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#1

Erhalte falsches modalResult

  Alt 28. Feb 2019, 23:05
Hallo,
nach dem Klick auf den Ok bzw. Abbrechen Button möchte ich als Result mrOK bzw. mrCancel erhalten.
Was ist an meinem Code falsch? Ich erhalte gleich beim Starten des Programms die Meldung "False".
Beim Klicken auf die Buttons aber keine Meldung.


Code:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    btnOK: TButton;
    btnAbbrechen: TButton;
    procedure btnOKClick(Sender: TObject);
    procedure btnAbbrechenClick(Sender: TObject);
    function modalErgebnis(): String;
    procedure FormActivate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


 procedure TForm1.btnOKClick(Sender: TObject);
begin
  Form1.ModalResult:=mrOk;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
   ShowMessage( modalErgebnis() );
end;

procedure TForm1.btnAbbrechenClick(Sender: TObject);
begin
  Form1.ModalResult:=mrCancel;
end;

function TForm1.modalErgebnis(): String;
begin
  if Form1.ModalResult=mrOk then
  begin
    result:='OK';
  end
  else if Form1.ModalResult=mrCancel then
  begin
     result:='Abbrechen';
  end
  else
  begin
    result:='False';
  end;
end;

end.
  Mit Zitat antworten Zitat