关于COM的问题,runerror!800706be,远程过程调用失败

yefeng519 2008-05-10 02:56:11
我现在得到一个COM里面只有一个DLL文件和头文件.H,我就只有用下面的方法调用COM里面的方法,但却怎么也不行!代码大致如下:
#import"D:\OmniDriver\OOI_HOME\USB***.dll" no_namespace
BOOL CMydlg::OnOpendevice()
{
try
{


if (AfxOleInit())

AfxMessageBox("初始化COM成功!");



ICoUSB4000Ptr spFun;
HRESULT hr = spFun.CreateInstance( L"OmniDriver.CoUSB4000.1" );
if(SUCCEEDED( hr ))
{
HRESULT ret;
AfxMessageBox("创建COM实例成功");//(这里显示已经创建了COM)
ret=spFun->CreateUSB();//(这里就不行了,所以报错了错误代码如题)
// if (SUCCEEDED(ret))
// {
// ret=spFun->openSpectrometer(1);
//
// }
if (SUCCEEDED(ret))
{
AfxMessageBox("都执行了");
}

}


}
catch( _com_error &e )

{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
CString strErrInfo;
strErrInfo.Format(_T("\tCode = %08lx"), e.Error());
strErrInfo += " Msg: ";
strErrInfo += e.ErrorMessage();
strErrInfo += " Source: ";
strErrInfo += bstrSource;
strErrInfo += " Description: ";
strErrInfo += bstrDescription;
TRACE(strErrInfo);
AfxMessageBox(strErrInfo);
//输出错误信息

}

return TRUE;



}//哪个好心的大哥帮我看看啊
...全文
1663 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jameshooo 2008-05-12
  • 打赏
  • 举报
回复
需要组件制作者的技术支持
yawer 2008-05-12
  • 打赏
  • 举报
回复
关注一下你调用错误的程序ret=spFun->CreateUSB();,这个函数是否有参数,这个函数的实现是否经过测试。如果它本身存在错误,那么你调用肯定会出错。个人意见,仅供参考。
yefeng519 2008-05-12
  • 打赏
  • 举报
回复
注册了,创建COM实例就已经成功了,就是在调用方法时,就提示那个错误!
sjdev 2008-05-10
  • 打赏
  • 举报
回复
你的这个控件没有注册吧。

3,248

社区成员

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

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