Delphi VCL:自定义过程/函数未声明的表单元素

时间:2012-03-09 18:36:36

标签: delphi vcl

我有这个:

procedure Welcome(user: string; accesslevel: integer);
begin
   if accesslevel>= 10  then btCustomers.Text = 'Customer overview';
end;

虽然表单上存在按钮,但btCustomers被声明为“未声明的标识符”。我错过了什么?

P.S。我知道这应该由OnCreate形式处理,但欢迎程序从外部表单调用。

1 个答案:

答案 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);