Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#25

AW: Meldungen aus einer Unit an ein Formular senden

  Alt 19. Apr 2015, 11:03
Nehmen wir mal das Beispiel von oben und designen das mal ohne den MessageManager:
Delphi-Quellcode:
type
  TfrmMitMemo = class(TForm)
    mmoMessages: TMemo;
    btnShowInput: TButton;
    procedure btnShowInputClick(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure AddMessage(Sender: TObject; const NewMsg: string);
  public
    { Public-Deklarationen }
  end;

...

procedure TfrmMitMemo.AddMessage(Sender: TObject; const NewMsg: string);
begin
  mmoMessages.Lines.Add(NewMsg);
end;
Delphi-Quellcode:
type
  TfrmInput = class(TForm)
    edtMessage: TEdit;
    btnAdd: TButton;
    procedure btnAddClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FNewMessageCallback: TNewMessageEvent;
  public
    { Public-Deklarationen }
    property NewMessageCallback: TNewMessageEvent read FNewMessageCallback write FNewMessageCallback;
  end;
Delphi-Quellcode:
procedure TfrmMitMemo.btnShowInputClick(Sender: TObject);
begin
  frmInput.NewMessageCallback := AddMessage;
  frmInput.Show;
end;
Delphi-Quellcode:
procedure TfrmInput.btnAddClick(Sender: TObject);
begin
  if Assigned(FNewMessageCallback) then
    FNewMessageCallback(Self, edtMessage.Text);
end;
Das macht jetzt exakt das Gleiche ohne eine weitere Instanz da irgendwo noch reinzubasteln.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat