dll中使用ado的_ConnectionPtr和_RecordsetPtr作为全局变量出错,如何解决
AdoNS::_ConnectionPtr g_pConnection;
AdoNS::_RecordsetPtr g_pRecordset;
在dll的DLL_PROCESS_DETACH中调用如下:
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CoInitialize(NULL);
g_pAdo=new CAdoPtr;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
if(g_pRecordset!=NULL && g_pRecordset->State)
g_pRecordset->Close();
if(g_pConnection!=NULL && g_pConnection->State)
g_pConnection->Close();
break;
}
return TRUE;
}
在其他exe文件调用此dll时在推出时显示MSDART.DLL错误。请大家指教