很奇怪。我自定义了一个函数,可是函数中就是不能引用本单元窗体内的控件!!(50分)

  • 主题发起人 主题发起人 ebaoe
  • 开始时间 开始时间
E

ebaoe

Unregistered / Unconfirmed
GUEST, unregistred user!
连窗体也不能引用,可是窗体明明已经运行了啊!
 
控件前面加上窗体名
或声明函数时在前面加上窗体名
 
在form1私有部分定义函数;
procedure myproc(sender :tobject);
在form1的实现部分中实现函数如下:
procedure tform1.myproc(sender:tobject);
begin

end;
 
OK了,不过很是奇怪。我恼火不过。就把实现部分删了。用ctrl+****f+c,重新了一下,然后把代码再粘回去后,就行了。可是我代码没有写错啊!问题结束
 
我猜的啊:
是不是你里面有了全角的空格什么的?
 
是不是你定义的函数在实现的时候函数名前面没有加上窗体名称?
那样的话函数不属于这个窗体,所以在函数体里面调用其他的控件要加上窗体名称
 
如要使用form1中的button1可以这样写
form1.button1.****;
即使在本unit中也是!
 
关键在于用ctrl+****f+c后会在procedure后面生成一个TFORM1的类名,这个可以把你的过程提到类的作用范围,在这里才可心使用类里面的对象,如控件等,如果不是类的过程,那么它就找不到类是的东西,只能用“窗体名.控件名.属性”的方法使用控件了
 
加uses 了吗?
 
后退
顶部