使用Delphi RAD Studio 10.2和Object Pascal。
我显示的第一个表单是登录表单。然后,在成功登录后,根据用户类型(基于UserID),将显示另一个表单。我希望在显示表单时使用一些数据填充第二个表单的字段。到目前为止,我还没有办法做到这一点。
我可以使用OnCreate ...但我相信这是在我知道我的用户ID之前很早就被解雇了。
我一直在使用kludge,在表单上有一个按钮,用于填充字段,并且工作正常,但是任何其他尝试都导致“未声明的标识符”和“从此处无法访问”错误消息。我知道这可能是因为我不能正确理解对象模型,但实际上只是在寻找一种方法来完成工作。感谢所有的帮助,但正如你所知,我对这一切都是新手。非常感谢。
答案 0 :(得分:0)
正如评论中已经提到的,OnShow
和OnActivate
事件是到达这里的方法。
为了确保事件仅执行一次,可以在事件方法本身中使用布尔标志(丑陋)或将适当的表单事件属性设置为nil
:
procedure TForm1.FormActivate(Sender: TObject);
begin
OnActivate := nil;
[...]
end;
procedure TForm1.FormShow(Sender: TObject);
begin
OnShow := nil;
[...]
end;