加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 04:21:46 所属栏目:大数据 来源:网络整理
导读:好吧,如果这有点令人困惑,我很抱歉,但我不知道如何更好地解释它.我有一个聊天表单,在用户事先在TLoginForm中进行身份验证后显示. 用户登录然后显示chatForm: with TChatForm.Create(Application) dobegin Show;end; 我的问题是,如何将用户名传递给chatForm,
好吧,如果这有点令人困惑,我很抱歉,但我不知道如何更好地解释它.我有一个聊天表单,在用户事先在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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读