使用BCB 在使用TADOConnect等组件时需要进行初始化 调用接口 : CoInitialize(NULL);//初始化COM套件 CoUninitialize();//释放COM套件 在DLL入口中调用 static bool isCoInitialize = false; //是否是自己进行的初始化 int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) { if(reason==DLL_PROCESS_ATTACH) { if(ConInitialize(NULL) == S_OK) isCoInitialize = true; } if(reason==DLL_PROCESS_DETACH) { if(isCoInitialize) CoUninitialize(); //是自己初始化的才释放,否则由其他初始化的地方自行释放,防止错误的释放导致别的调用者失败 } return 1; }