首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

dll中使用ado,com初始化失败解决思路

2012-02-03 
dll中使用ado,com初始化失败vc6写了一个regulardll,dll中用到ado。结果调用dll时,显示com初始化失败。dll中:

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组件库错误 ");
}

热点排行