ATL调用MFC生成的OCX问题

sevene2015 2010-08-10 07:06:16
现在遇到这样的一个问题,用MFC生成一个OCX,并注册成功。在基于对话框的程序中,直接加载可以调用。现在想用以下方式调用:
#import "../mfcocx/Debug/mfcocx.ocx" named_guids, no_namespace
#include "Debug/mfcocx.tlh"
CComModule _Module;
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(0);

HRESULT hr;
_Dmfcocx * pObj;
_Module.Init(NULL, (HINSTANCE)GetModuleHandle(NULL));


hr = CoCreateInstance(
CLSID_mfcocx,
//__uuidof(DemoObject),//Com对象标识符
0,//指向接口IUnknown指针
CLSCTX_ALL,
//CLSCTX_ALL,//运行可执行代码上下文
//__uuidof(IDemoObject),//Com对象接口标识符
DIID__Dmfcocx,
reinterpret_cast<void**>(&pObj)//用来接收指向Com对象接口地址指针变量
);

if (hr == S_OK )
{
MessageBox(NULL, "SUCCEEDED", "", 0);
}
else
{
MessageBox(NULL, "ho nooo", "", 0);
}

pObj->getTest();
getch();
return 0;
}

CoCreateInstance没有问题,是不是说明COM对象创建成功啊,当运用pObj时,不论是调用方法或是属性,都出错,

callmfcocx.exe ÖÐµÄ 0x7c815dea ´¦Î´´¦ÀíµÄÒì³£: Microsoft C++ exception: _com_error @ 0x0012fcc0 ¡£

不知道为什么啊~!
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sevene2015 2010-08-10
  • 打赏
  • 举报
回复
是的,截图如下,不知道为什么
senlinzhiwang 2010-08-10
  • 打赏
  • 举报
回复
_com_error ??

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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