紧急求救:调用ADO _ConnectPtr的Close()的时候程序崩溃,该怎么处理

紧急求救:调用ADO _ConnectPtr的Close()的时候程序崩溃
我在vc8下开发一个数据访问的dll,
其中定义如下这样的一个类
class     CUserData
{
  public   :
      long     GetUser(char   *   user);
      ..........
      ..........
private:
    _ConnectPtr   m_ptConn;
}

在一个.exe中调用这个类,当调用Close()时程序崩溃,请教可能是什么原因?



------解决方案--------------------
::CoUninitialize()放在什么地方了
------解决方案--------------------
还有::CoUninitialize()放在哪个位置呢,一定要放在
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
::CoInitialize(NULL);
break;
case DLL_PROCESS_DETACH:
::CoUninitialize();
break;
}
return 1;
}


------解决方案--------------------
不知道为啥,dll中的数据库链接等com对象的指针,在exe里经常会变成NULL,好像反之也是如此。
所以才会出现程序崩溃……

高人提示因为什么COM线程、什么消息循环导致……偶是不懂,偶从来就不敢在dll里玩COM对象,尤其是数据库操作。