• 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 > 超难!!!再次提问ATL事件向外界(VB)传递safearray参数问题。

超难!!!再次提问ATL事件向外界(VB)传递safearray参数问题。

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

佚名通过本文主要向大家介绍了safearray,safearray inp,vlax make safearray,vlax safearray,vlax safearray fill等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 超难!!!再次提问ATL事件向外界(VB)传递safearray参数问题。
描述:

事件声明
[id(3), helpstring("method Test2")] HRESULT Test2([out]VARIANT *Data);
我在其中传递了一个二进制数组。一个buff
这样,在VB中就有这样的一个响应事件
XX_onTest2(Data As Variant)
在这个响应当中,我调用了一个vb中的控件的方法,该方法的参数也是Data As Variant
但他却报错Varialble uses an Automation type not supported in Visual Basic
自己分析认为,控件需要的参数类型和我的atl控件参数类型不是匹配的。
而事实上,至少字面上是一样的。(是否有内容上的区别?)
另问,我在VB中如何访问这个Data?(比如传其它类型。字符串)
我对VB知之甚少,请写过atl控件的高手帮我解释一样。


解决方案1:

//Fire_XXX
VARIANT param;
VariantInit(&param);
V_VT(&param) = VT_ARRAY|VT_UI1;
V_VARIANTREF(&param) = ppsa;
VariantClear(&varResult);
pvars[0] = param;
DISPPARAMS disp = { pvars, NULL, 1, 0 };
pDispatch->Invoke(0x3, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, &varResult, NULL, NULL);
//call Fire_XXX
...
CComVariant var;
VariantInit(&var);
hr = Fire_XXX(&var);
...

解决方案2:

我是专程过来帮你顶贴的

解决方案3:

这位老兄问题解决了没有?哈哈!我来帮帮你!

解决方案4:

http://support.microsoft.com/kb/q167668/
How To Pass a SafeArray of Strings in a VARIANT with vb and vc


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

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

  • 关于SAFEARRAY的释放问题,高手请进
  • VCCOM组件想通过一个事件传递一个Safearray数组如何传递?
  • 请问SAFEARRAY怎么操作?
  • 简单问题一个标准函数SafeArrayGetElement,不知道什么意思
  • [VC->VB@DLL]如何给SAFEARRAY类型的参数传值?
  • 在vc中使用SAFEARRAY的问题??急,大侠们一定要帮帮忙啊!!!!
  • 关于safeArray使用的问题,在线等待,解决给分。
  • 高手帮我看看,关于安全数组(SafeArray)使用问题
  • 关于SAFEARRAY数组的释放问题
  • 自定义类型的SafeArray创建

相关文章

  • 2017-06-05 线程的一个小问题
  • 2017-06-04 解决ActiveX在浏览器中被提示安全限制的问题,本周结账!
  • 2017-06-04 activex控件与windows消息
  • 2017-06-04 VCERROR?为什莫ACTIVEX控件不能注册?activex控件可以调用本地dll吗??
  • 2017-06-05 菜鸟问问题?在线等候!
  • 2017-06-04 急急!!!回答正确,当场给分。ActiveX中使用动态创建的windows标准控件出现的问题
  • 2017-06-04 debug版的com注册问题
  • 2017-06-05 靠!调试线程就死机,求解
  • 2017-06-05 请大侠救命:调用DLL的问题,在调用一个有返回值的函数时出错。
  • 2017-06-05 dll文件格式,如何使用未知DLL函数接口

文章分类

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

最近更新的内容

    • 结构体转char数组
    • 加急求救,在线等待!安全关闭进程的问题
    • YFOPCSDKdll谁用过?是否免费??(一个开发OPC客户端的动态库)
    • 所有有疑问的参数,能使用的东东都用了一边,现在弹尽粮绝:(
    • ActiveX控件问题!!!
    • 请问怎样启动ie浏览一个网页,并且打开新的ie窗口,使用当前ie窗口?
    • IViewObjectEx/IViewObject对象怎样把其中的数据保存为图片?
    • 一个关于副线程向对话框窗口发送消息的问题。先以80分奉上,不够再加。
    • 如何为MFCActiveX控件设置TOOLBAR,并可以任意停靠在控件左右马上给分vcnet
    • 如何获取被控件遮盖部分矩形区域的位图?

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

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