Win7 SP1 下,MFC DLL项目里,调用ADO,创建ADODB::_ConnectionPtr连接实例时“卡死了”,分不多等待大神帮忙

莫辰Soft 2013-12-18 04:18:47
环境工具:Windows 7 SP1 旗舰版、Visual Studio 2008 旗舰版
工程类型: MFC DLL项目
问题现状:调用Win7下系统盘下的msado15.dll,创建ADODB::_ConnectionPtr连接实例时“卡死了”

在 stdafx.h 中引用以下代码:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF","adoEOF")
using namespace ADODB;

在 MFC DLL 项目 CXXXApp::InitInstance() 方法中使用以下代码:
::CoInitialize(NULL);
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
AfxMessageBox(_T("创建Connection对象成功!"));
}

程序在创建 CreateInstance() 时候卡住,断点调试,卡住在 comip.h 文件中的以下 创建实例 位置:
// Loads an interface for the provided CLSID.
// Returns an HRESULT. Any previous interface is unconditionally released.
//
HRESULT CreateInstance(const CLSID& rclsid, IUnknown* pOuter = NULL, DWORD dwClsContext = CLSCTX_ALL) throw()
{
HRESULT hr;

_Release();

if (dwClsContext & (CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)) {
IUnknown* pIUnknown;
hr = CoCreateInstance(rclsid, pOuter, dwClsContext, __uuidof(IUnknown), reinterpret_cast<void**>(&pIUnknown));

// ....
}
}
}
...全文
181 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-12-19
  • 打赏
  • 举报
回复
需要try catch吧,我猜。
5t4rk 2013-12-19
  • 打赏
  • 举报
回复
getlasterror
莫辰Soft 2013-12-18
  • 打赏
  • 举报
回复
有大神路过没呀,顶一下

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧