1、将if self.Components[i].classparent.classname='Tfield' then改为:
if self.Components[i].classname='Tfield' then 看看
2、不是太明白你的意思。你是想让多个Activeform的DBLookcomobo同步吗?那么建立一个DataModal,放入Tadodataset和对应的DataSource1。在function中用代码设置每个ActiveForm的DBLookcomobo.DataSource=DataSource1……就行了。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
if self.Components[i].classname='Tfield' then 看看
2、不是太明白你的意思。你是想让多个Activeform的DBLookcomobo同步吗?那么建立一个DataModal,放入Tadodataset和对应的DataSource1。在function中用代码设置每个ActiveForm的DBLookcomobo.DataSource=DataSource1……就行了。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
对第二个问题的补充:我是添加了这样了方法来实现的
procedure TDataComBoBox.Set_DataSource(const Value: IDispatch);
begin
ADoexpress.Active:=False;
ADoexpress.Recordset:=Value as _Recordset;
//在此把传进来的原生的ado对象付值给放在Activeform上的adoexpress(类型Tadodataset)作为dblookcomobo的datasource
ADoexpress.Active:=True;
datasource1.dataset:=adoexpress;
dblookcombo.datasource=datasource1;
end;
过程set_listsource同上,我想在Acitveform内部有了这样的两个数据源就可能真正使用Dblookcomobo的功能问题1:想让多个Activeform的DBLookcomobo同步,(我本来想当外部传进来的数据源(以上过程中的Value)使用first,next等功能时,多个Activeform的DBLookcomobo同步)但我没能实现.为什么???