在delphi SDI中创建新表单时传递参数

前端之家收集整理的这篇文章主要介绍了在delphi SDI中创建新表单时传递参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,如果这有点令人困惑,我很抱歉,但我不知道如何更好地解释它.我有一个聊天表单,在用户事先在TLoginForm中进行身份验证后显示.

用户登录然后显示chatForm:

with TChatForm.Create(Application) do
begin
    Show;
end;

我的问题是,如何将用户名传递给chatForm,以便我可以在聊天中将其用作昵称,考虑到表单自动连接到服务器OnShow的事实,所以我将需要已经发送的用户名.

我是delphi的新手,所以如果我的代码中有任何错误,请原谅.

解决方法

如果用户名应在对象的整个生命周期内修复,则应将其传递给构造函数.好处是不能滥用课程而忘记分配用户名.

声明一个在参数中接收额外信息的构造函数

type
  TMyForm = class(TForm)
  private
    FUserName: string;
  public
    constructor Create(AOwner: TComponent; 
        const UserName: string);
  end;

constructor TMyForm.Create(AOwner: TComponent; 
        const UserName: string);
begin
  inherited Create(AOwner);
  FUserName := UserName;
end;

像这样创建表单:

MyForm := TMyForm.Create(Application,UserName);

猜你在找的Delphi相关文章