用VC建的DLL工程,在CMyApp::InitInstance中需要做些初始化,
在操作完数据库调用myConnPtr ->Close() 时程序就停在这句话不动了。
把以上的数据库操作提出来另作为一个函数InitDatabase(),出了InitInstance
以后调用InitDatabase没有任何问题。
MSDN里说不允许这么做!
“OLE operations involving calls to an OLE object should not be done in the DllMain function of a DLL because a deadlock can occur. ”
可怜的InitInstance就是在DllMain里调用的。