我有这个:
procedure Welcome(user: string; accesslevel: integer);
begin
if accesslevel>= 10 then btCustomers.Text = 'Customer overview';
end;
Run Code Online (Sandbox Code Playgroud)
虽然,当按钮存在于窗体上时,btCustomers被声明为"未声明的标识符".我错过了什么?
PS我知道这应该由OnCreate形式处理,但欢迎程序从外部表单调用.
您可以传递对表单的引用,以便可以依次引用该按钮.
procedure Welcome(form: TMyForm; user: string; accesslevel: integer);
begin
if accesslevel>= 10 then form.btCustomers.Text = 'Customer overview';
end;
Run Code Online (Sandbox Code Playgroud)
但是,只要有一个全局范围函数将第一个参数作为对象的引用,就可以使用该对象的方法.所以,添加一个方法TMyForm.
procedure TMyForm.Welcome(user: string; accesslevel: integer);
begin
if accesslevel>= 10 then btCustomers.Text = 'Customer overview';
end;
Run Code Online (Sandbox Code Playgroud)
并称之为:
MyForm.Welcome(user, accesslevel);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |