有两个属性分别对应两个方法,setvalue和setconnection,而在控件创建时,为何总是先执行setvalue然后再执行setconnection呢?

  • 主题发起人 主题发起人 tomboy
  • 开始时间 开始时间
T

tomboy

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个属性分别对应两个方法,setvalue和setconnection,而在控件创建时,为何总是先执行setvalue然后再执行setconnection呢?如何改变他们的执行顺序呢?(50分)<br />
 
property connection ..
propery value ..

//注意声明的先后顺序
 
我也是这样声明的,不行!!
 
看看 控件 的 Create ;
 
这根控件源码程序有关,一般当一控件接到一个消息事件后在消息处理程序里决定事件调用
顺序,不修改控件没有办法
 
这应该是你的代码自己决定的啊,跟属性声明的先后次序没关的。
假设你在published部分的声明如下:
....
published
property Value: DataType read GetValue write SetValue;
property Connect: DataType read GetConnect write SetConnect;

那么查查你的代码,看在什么时候给Value赋了值,又是在什么时候给Connect赋了值
一般来说会在Create或Loaded过程中赋初始值的
 
jqw说得很正确。
你改过后不能使用,是因为你没有重新编译?然后,要关闭Delphi,再重新打开,
这样,新顺序才可以应用。
 
按0738说得去查代码吧.
&gt;应该是你的代码自己决定的啊,跟属性声明的先后次序没关的。
&gt;假设你在published部分的声明如下:
&gt;....
&gt;published
&gt; property Value: DataType read GetValue write SetValue;
&gt; property Connect: DataType read GetConnect write SetConnect;

&gt;那么查查你的代码,看在什么时候给Value赋了值,又是在什么时候给Connect赋了值
&gt;一般来说会在Create或Loaded过程中赋初始值的
 
后退
顶部