好吧,如果这有点令人困惑,我很抱歉,但我不知道如何更好地解释它。我有一个聊天表单,在用户之前在 TLoginForm 中进行身份验证后显示。
用户登录后显示聊天表单:
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 - delphi SDI中创建新表单时传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033023/