dll中使用ado,com初始化失败
vc6写了一个regular dll,dll中用到ado。结果调用dll时,显示com初始化失败。
dll中:
if( !CoInitialize( NULL ) ) {
AfxMessageBox( "初始化COM失败! " );
exit(1);
}
请问是什么问题?
[解决办法]
你没有初始化com库,当然涉及到的com调用都只能失败了。
[解决办法]
if( !CoInitialize( NULL ) ) {
AfxMessageBox( "初始化COM失败! " );
exit(1);
}
==>
if( FAILED(CoInitialize( NULL )) ) {
AfxMessageBox( "初始化COM失败! " );
exit(1);
}
===========================================================
hr = m_pConnection.CreateInstance( "ADODB.Connection " );
if(FAILED(hr))//失败
{
....
}
请使用FAILED.
[解决办法]
if(FAILED(::CoInitialize(NULL)))
return;
::CoUninitialize();
[解决办法]
if(S_OK!=OleInitialize(NULL))
{
AfxMessageBox( "初始化COM组件库错误 ");
}