急,在DLL窗体中如何用ADO组件,我每次一到调用这DLL窗体时就出错(含ADO组件,如无ADO则不出错)

解决方案 »

  1.   

    学习一下,我做了几个也有些问题
    楼主是不是用bpl+dll做的?
      

  2.   

    #include "objbase.h"
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
            //return 1;
            switch(reason)
           {
                    case DLL_PROCESS_ATTACH:
                            CoInitialize(NULL);
                            break;
                    case DLL_PROCESS_DETACH:
                            CoUninitialize();
                            break;
                    case DLL_THREAD_ATTACH:
                            break;
                    case DLL_THREAD_DETACH:
                            break;
            }
            return 1;
    }
    这样就可以使用了
      

  3.   

    CoInitialize;
    //*****使用ADO***********
    CoUninitialize;
      

  4.   

    在线程中使用ADO时,需要
    CoInitialize;
    //*****使用ADO***********
    CoUninitialize;
    都在ActiveX单元中,
    不过,在DLL中应该不需要这样做吧,
    你需要包含所用的ADO控件的所有的单元。
      

  5.   

    在DataModule中加入如下代码:
    initialization
      CoInitialize(nil);finalization
      CoUninitialize();
    然后就可以使用ADO了。
      

  6.   

    在DataModule中加入如下代码:
    initialization
      CoInitialize(nil);finalization
      CoUninitialize();
    后还是出现尚未调用CoInitialize的错误
      

  7.   

    搞定,在DataModule中加入如下代码:
    initialization
      CoInitialize(nil);finalization
      CoUninitialize();
    可以实现,现在结帖,给分啦