我有这个:
procedure Welcome(user: string; accesslevel: integer);
begin
if accesslevel>= 10 then btCustomers.Text = 'Customer overview';
end;
虽然表单上存在按钮,但btCustomers被声明为“未声明的标识符”。我错过了什么?
P.S。我知道这应该由OnCreate形式处理,但欢迎程序从外部表单调用。
答案 0 :(得分:5)
您可以传递对表单的引用,以便可以依次引用该按钮。
procedure Welcome(form: TMyForm; user: string; accesslevel: integer);
begin
if accesslevel>= 10 then form.btCustomers.Text = 'Customer overview';
end;
但是,只要有全局作用域函数将第一个参数作为对象的引用,就可以使用该对象的方法。因此,请向TMyForm
添加方法。
procedure TMyForm.Welcome(user: string; accesslevel: integer);
begin
if accesslevel>= 10 then btCustomers.Text = 'Customer overview';
end;
并称之为:
MyForm.Welcome(user, accesslevel);