在Delphi7数据集中动态创建查找字段

http://doc.mbalib.com/view/d9155a6b9e3c18a7228caa49578219d8.html

特别注意:
在给Exfield指定DataSet属性时,需要一定技巧。通常直接赋值,如ExField.DataSet:=DataSet。这时会同时创建两个相同的查找字段对象。这是因为,在执行ExField.DataSet:=DataSet语句时,会调用TField派生类的SetDataSet方法。而该方法会再一次打开dataSet,因此共打开了两次,也就导致创建了两次查找字段对象。
对此解决的办法是,直接把存放DataSet的内存值赋给ExField.DataSet所指的内存值:
Integer((@ExField.DataSet)^):=Integer(DataSet);

你可能感兴趣的:(在Delphi7数据集中动态创建查找字段)