调用DLL时,出现 Eolesyserror in module rtl60.bpl at XXXXX
尚未调用 coinitialize DLL时使用了ADO组件

解决方案 »

  1.   

    给你个例子
    uses activex;procedure ShowSbSearch;stdcall
    begin
       CoInitialize(nil);//注册
       dtmd := Tdtmd.Create(nil);
       frmSbSearch := TfrmSbSearch.Create(nil);
       try
         frmSbSearch.ShowModal;
       finally
         frmSbSearch.Free;
         dtmd.Free;
       end;
       CoUninitialize;//
    end;
      

  2.   

    上面的例子有些久妥,实际上CoInitialize和CoUninitialize在每个需要使用ActiveX的线程只用调用一次即可
      

  3.   

    不认得wudi_1982的例子欠妥.主动有意识的使用CoInitialize,这是个好习惯.
      

  4.   

    应该和com有关系,需要手动调用COM,进行初始化,如一楼做的哪样就可.