Thema: Delphi Zirkuläre Referenzen

Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Zirkuläre Referenzen

  Alt 2. Mär 2021, 15:15
Delphi-Quellcode:
procedure TTMainForm.Button1Click(Sender: TObject);
var
  Msg: TOpenChildFormMessage;
begin
  Msg := TOpenChildFormMessage.Create;
  Msg.ParameterIN := 'Ich komme aus MainForm und gebe dies als Parameter mit';
  TMessageManager.DefaultManager.SendMessage(Self, Msg, False); // das False ist wichtig!
  ShowMessage(Msg.ParameterOut);
  Msg.Free;
end;
Delphi-Quellcode:
  
TOpenChildFormMessage = class(TMessage)
  public
    ParameterIN,
    ParameterOUT: String;
  end;
Delphi-Quellcode:
procedure MsgOpenChildForm(const Sender: TObject; const M: TMessage);
var
  Msg: TOpenChildFormMessage;
begin
  if M is TOpenChildFormMessage then
  begin
    Msg := TOpenChildFormMessage(M);
    ShowMessage(Msg.ParameterIN);
    TChildForm.OpenChildForm(Sender);
    Msg.ParameterOut := 'Hallo Welt!';
  end;
end;
Mit records ist auch möglich, dann musst du dir die Instanz auch merken und auf dein Record per TChildFormMessage.Value (Value ist dann der generische Typ) zugreifen.
  Mit Zitat antworten Zitat