ADO对象怎么封装到DLL中?
我要在一个动态连接库中实现ADO,但是不成功。
具体是这样的:
1.(in DllMain)
在DLL_PROCESS_ATTACH中:
CoInitialize(NULL);
hr = Conn.CreateInstance ( __uuidof(Connection));
//......其他略
在DLL_PROCESS_DETACH中:
Conn.Release ();
CoUninitialize();
程序运行到Release ();的时候出错。
测试的其他情况包括:
2.1 没有Conn.Release ();这条语句的时候,在应用程序退出的时候报错误.
2.2 不CreateInstance(),则运行正常 (说明是因为释放Conn的时候才出问题)
2.3 同样的代码,写到其他的地方(比如dll的窗口创建/释放的时候),则正确执行,但却不是我所希望的。而在MSDN关于DllMain的说明中,DLL_PROCESS_ATTACH/DLL_PROCESS_DETACH两个入口可能并不处于一个线程中(Note that the thread that receives the DLL_PROCESS_DETACH notification is not necessarily the same thread that received the DLL_PROCESS_ATTACH notification.)。但是我GetCurrentThreadID()得到的却又是一样的。而错误依旧。
哪位大哥大姐有经验的帮帮我。分不够再加。