• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > IDispatch接口返回值的问题

IDispatch接口返回值的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了idispatch接口,idispatch,idispatch error 3092,idispatch error 3149,idispatch error 3088等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: IDispatch接口返回值的问题
描述:

当IDispatch接口抛出错误的时候,是不是这个接口的返回值在VBS中就得不到。
1.创建一个实现IDispatch接口的.dll。
   其中有一个接口函数
   [id(26), helpstring("method CopyHere")] HRESULT CopyHere([in] BSTR srcObjectID,[out, retval] BSTR* ppResObjectID);
2.在VBS(或ASP)中调用这个函数
   Dim strTempOMID
   strTempOMID = objFolder.CopyHere(strCopySrcOMID) 
   If Err.Number <> 0 Then
       MsgBox Err.Description
   End If
   MsgBox strTempOMID
3.现在真正调用时,在CopyHere里面会跑出错误,但是在这种场合下,CopyHere的返回参数已经被设置上了数值例如“1000”。但是这个值在VBS中就得不到,仍然是个空值。
#抛出的错误是自定义的,是用CreateErrorInfo来创建的。
但是在c程序中能够得到,因为在C程序中得到返回值的方法是:
HRESULT hret = CopyHere(SrcObjectID,pVal);
(直接给pVal返回值地址赋值)
请高手指点。。。。。


解决方案1:

upupup

解决方案2:

不可能呀!我都是这么用的,从来没有见过出错!
gai
 Dim strTempOMID As String
   strTempOMID = objFolder.CopyHere("1000")


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 实现了IDispatch接口的组件和ActiveX控件用起来有什么不同呢?我觉得一样可以用在Web页面上,为什么ActiveX控件还要多实现那么多各种各样
  • 实现了IDispatch接口的组建,用vbscript怎么调用?
  • MSFlexGrid有一个Picture属性,是一个IDispatch接口指针,请问如何操作?
  • 怎样查询ActiveX控件的IDispatch接口每个ID代表函数
  • MFC实现IDispatch接口问题?
  • 如何hook住com接口的idispatch接口的虚函数invoke?
  • IDispatch双接口,自动化,是一样的东西吗
  • 如果一个组件实现IDispatch接口,那么能否是一个"自描述"的组件?
  • C++SDK怎么使用IDispatch接口实现函数管理
  • mfcdriller示例程序中,派生的IDispatch接口方法GetIDsOfNames的参数cNames是指什么?

相关文章

  • 2017-06-04 100分关于COM接口返回数组的问题
  • 2017-06-04 求:HHCtrl控件的参数详解
  • 2017-06-04 GDI画出的矩形框上面可以贴图吗?增加string显示怎么实现?
  • 2017-06-04 InvokereturnsE_UNEXPECTED
  • 2017-06-04 ATL做的axtivex嵌入网页单击后页面编辑框不能输入
  • 2017-06-04 MFC中如何用GetFieldValue获取缓冲池内的long类型数据
  • 2017-06-05 控件中的资源对话框里面添加ACTIVEX控件
  • 2017-06-05 navigate怎样使用相对路径加载本地文件吗?在ATL写的com组件中
  • 2017-06-04 VC++实现图形的旋转,平移,缩放
  • 2017-06-05 问多个线程同读写一个队列的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问,如何将AbiWord的源代码转换成标准组件?
    • 请问怎么样获得子进程打开的文件句柄?
    • 关于COM接口虚表的问题
    • 开发网页插件,怎么实现图像裁剪功能
    • 关于线程同步方式
    • 如何调用DLL中的函数并且给DLL中的变量赋值和交互
    • WaitForSingleObject的问题
    • 请问如果要在C#中传递字符串给VCATLCOM函数,COM函数如何定义参数在线等
    • CListView控件的数据类型的问题
    • 请教大家一个很奇怪的关于水晶报表控件的问题!!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有