注册 登录
编程论坛 Delphi论坛

请教过程中控件属性的调用

yanqw 发布于 2007-02-27 13:14, 841 次点击

在active form中,写了一个过程,过程中要改变窗体中某一个控件的属性,比如说lebel1.caption,但是好象不能用,当在过程中写了label1.时,就出现unable to invoke 的错误,不知道怎么解决?

7 回复
#2
xu20002007-02-27 13:43
在前面加上窗口名。
#3
yanqw2007-02-27 15:24
activeform和普通form不一样?
在一般的form中可以,不过在activeform我试了好象不行:<,在activeform中前面加上窗体名没有错误提示了,但是窗体后并没有激活后面的属性,比如出现activeform.后面就没反应了.
如用
procedure exa(i:integer);
begin
tedit(findcomponent(inttostr(i))).text
end;
后面的属性可以出现,但是编译时出现undeclared identifier:"findcomponent" 的错误?
谢谢!!

[此贴子已经被作者于2007-2-27 15:35:24编辑过]

#4
xu20002007-02-27 16:16
先声明一个该窗口的变量。
var
frm:TActiveFormX;

然后调用。
这回试一下。
#5
yanqw2007-02-27 19:49
谢谢斑竹,可以用了!:&gt;

[此贴子已经被作者于2007-2-27 19:52:08编辑过]


#6
xu20002007-02-27 19:52
哦,我刚想说我这里可以。
#7
yanqw2007-02-27 21:35

斑竹你用你说的方法,运行也没有问题吗?
我的一运行就出现access violation at address 02378C25 in module 'activexproj1.ocx' .read of address 00000308
在form里面一切正常

#8
xu20002007-02-27 22:08
initialization的最后
加上
ActiveFormX := TActiveFormX.Create(Application);

这回如何?
1