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 := '加不加分随你';
—————————————————————————————————
    

解决方案 »

  1.   

    有关在ActiveForm上放DBLookComobo(因为我想让生成的ocx也能有DbLookcomobo的DataSource和ListSource的类似功能)
    对第二个问题的补充:我是添加了这样了方法来实现的
    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同步)但我没能实现.为什么???