怎么解决这个问题?设计期有,运行态没有(100分)

  • 主题发起人 主题发起人 onedot
  • 开始时间 开始时间
O

onedot

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己写一个组件
在里面有个属性它是TDBEdit类的
property DBEdit:TDBEdit read FDBEdit write FDBEdit;
该属性直接对我组件里的FDBEdit进行更新和读取
现在问题是在设计期我对该属性指定所在窗口上DATASOURCE,DATAFIELD后可以正确达到我目的
//我里面根据FDBEdit的数据做一些显示,很简单(为了方便实现控件支持数据感知)
但运行起来就没有,我跟踪代码发现运行是它仍然认为FDBEdit.datasource是NIL
怎么让设计期的能正确在运行期一样???

 
你要赋值啊,要想正确的工作,它必须有正确的正确的实例.注意你的设计期的实例不一定是
你的运行期的实例啊.你可以仔细看看.
 
恩,我就是想知道如何对该实例赋和设计态一样的值?
 
应该是不可能的,把你的相关代码贴出来看看,大家分析一下
 
你如果写的是组件的话,那就比较麻烦了,你应当提供办法把你的组件在设计期的数据保存下
来,通常保存在DFM文件中,也可以保存在别的地方,在你的组件实例化后,再把这些数据读出
来给它.建议你详细看一下组件的属性.这里比较复杂.可以有多种方法实现这一原理.可以直
接通过组件的PUblish属性来完成,也可以通过Override组件的流入流出方法来实现.没有看
到你的代码,不能提供更多的帮助.
 
要做到数据感知,不是简单地把DataSource赋值就行的。
重载property DBEdit:TDBEdit read FDBEdit write FDBEdit;
 
多人接受答案了。
 
后退
顶部