• 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 > ####请教vb调用com组建来传递自定义结构的问题谢谢####

####请教vb调用com组建来传递自定义结构的问题谢谢####

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

佚名通过本文主要向大家介绍了请教什么浮漂好用,请教律师,请教的意思,请教老年人如何壮阳,请教学霸8 6 13 8等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ####请教vb调用com组建来传递自定义结构的问题谢谢####
描述:

ATL中的IDL定义如下
typedef struct tagItemData
{
     long x;
     long y;
     long z;
}ItemData;
[id(1), helpstring("method Test")] HRESULT Test([in]ItemData* iData);
编译后出现一个警告
warning MIDL2039 : interface does not conform to [oleautomation] attribute : [ Parameter 'iData' of Procedure 'Test' ( Interface 'IIB' ) ]
忽略掉它,然后在vb6中调用这个方法
Public Type ItemData
    x As Long
    y As Long
    z As Long
    num As Long
End Type
调用代码如下
Dim id As ItemData
id.x = 3
id.y = 4
id.z = 5
id.num = 123
IB1.Test id
运行时错误
Compile error:
ByRef argument type mismatch
请问这是为什么,很奇怪


解决方案1:

凑热闹,我也遇到这样的问题,如果只是传递x,y,z,那我用3个long参数代替就可以了。

解决方案2:

你的组件如果有界面那就放弃这个念头,如果是简单接口,传递结构传递结构很简单在vb下直接定义该结构因为你idl中已经定义不必再在vb下定义这个结构
dim obj as new ItemData
......


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

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

  • 请教返回自定义接口参数的问题
  • 请教在dll中定义对话框,出了问题
  • 请教,请问怎么在COM中获得当前时间啊?
  • 请教,如何去掉打右键菜单
  • 请教如何用代码将EXCEL中某一单元格的内容COPY到系统剪贴板中?
  • 请教:如何利用浏览器插件完全控制浏览器与服务器的交互?
  • 请教如何实现一个windows的接口?
  • 请教,IE中多个页面多次同时调用同一个控件的问题
  • 请教组件间传递参数的方法,必须用接口吗?
  • 请教,如何在自己的控件中添加标准的控件啊?

相关文章

  • 2017-06-04 用ATL向导生成COM时,接口选项中的"双重"和"自定义"以及自功化兼容是何意思?有何作用?
  • 2017-06-05 请教枚举autostart、service的方法
  • 2017-06-04 怎样最快地把一个几十万行的mfcexe程序弄成ocx控件?
  • 2017-06-04 为接口加属性的问题
  • 2017-06-04 怎样在IDL里设置使接口具有默认成员?
  • 2017-06-05 CArray与CPtrArray嵌套问题
  • 2017-06-04 如何创建一个com,要求可以以非阻塞处理的方式处理同时处理多个客户端的请求???
  • 2017-06-04 如何将一个VC项目,转换成COM(ACTIVEX)控件?
  • 2017-06-04 关于IE更新控件的问题
  • 2017-06-04 怎么能把一个Document-View的执行程序代码改为一个OCX插件?

文章分类

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

最近更新的内容

    • 有没有办法在win32dll中用上mfc
    • VC7对ATL的支持如何?哪里有ATL的书籍资料下载?
    • n线程互斥执行的问题
    • mfc开发的activex控件如何分辨处于设计模式还是运行模式?
    • 程序不在进程列表中显示
    • 请问一下怎么在界面上加上声音播放
    • 取分的同志们请到这里!
    • 调用动态连接库后,调用窗口关闭时报错,在线等待
    • 请高手看一下为什么我设置的时间限制没有用
    • 如何在另一个进程中显示对话框?

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

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