• 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 > 请教高手,cominterface中的method可以用结构作为参数吗?

请教高手,cominterface中的method可以用结构作为参数吗?

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

佚名通过本文主要向大家介绍了 请教高手,cominterface中的method可以用结构作为参数吗?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请教高手,com interface 中的 method 可以用结构作为参数吗?
描述:

请教高手,创建简单com对象,interface 中可以包含结构吗?我的意思client和server通信,不用结构,只用简单参数,势必接口函数写得冗长复杂。
我创建一个简单的com server,再type library editor 中可以添加一个record (相当于struct),接口中的method 可以用这个struct作为参数。但根据试验,简单参数(int,long,BSTR)的调用是正常的,而含有struct的method,调用不正常,根本不调用。为什么???
是BCB的问题?windows的shell interface 不是到处都是结构吗?还是如果自定义结构的话,必须自定义列集(Marshaling)?


解决方案1:

对于进程内的对象(dll)不用考虑Marshaling
直接把结构定义写到idl文件里去
interface IMyObj : IUnknown
{
  typedef struct ...
  {
  } MY_STRUCT;
  HRESULT foo([in] MY_STRUCT* pData);
};

解决方案2:

可以用结构,不需要自己自定义列集.
另外,你的接口是不是继承于IDispatch,如果是的话,一般需要用到SAFEARRAY;
如果直接继承于IUnknown可以传自己的结构的.


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

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

  • 请教高手:在COM中接口方法需传一个struct数组,要求支持自动化,请问该如何传递?
  • 请教高手,怎样激活ActiveX进入“运行模式”
  • 请教高手:html网页里调用COM组件的时候,组件里的方法是不是只能有一个输入值和一个输出值。
  • 请教高手:向RichEdit控件发送SET_TEXT消息往里写内容的问题!有的能写进去内容,有的却写不进去?
  • 请教高手:《COM本质论》中的“实现”概念的理解
  • 请教高手:在MFC中如何防止ado连接自动断开假设没有任何异常情况出现,我现在的程序中一般超过1个半小时,ado就自己断开了
  • 请教高手:可不可以当EXE的COM服务器里发生了一个事件时,通知所有连接该组件的客户端?
  • 请教高手一个问题,新手初学。
  • 请教高手,cominterface中的method可以用结构作为参数吗?
  • 请教高手我想做象网络蚂蚁那样在ie里点击右键出来个菜单在注册表的那个键里设置

相关文章

  • 2017-06-04 求画折线图的免费控件
  • 2017-06-04 在网页开始执行js前得到某js函数的IDispatchEx对象
  • 2017-06-05 终止线程问题,救命呀!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 2017-06-04 如何传递一个结构体从VCCOM组件-〉NETVB程序???
  • 2017-06-04 关于MicrosoftDataGridControl的数据打印
  • 2017-06-05 在logoff的时候,哪些进程会被杀掉?(咨询Microsoft后也没有搞明白的问题
  • 2017-06-04 求有自动化原理和mfc自动化实践的书
  • 2017-06-04 重新编译了一下VB写的COM,为什么在VC中就无法调用了呢?
  • 2017-06-04 com如何调用com
  • 2017-06-04 从来没做过COM,现在要把一个程序做成一个组件,该怎么办啊

文章分类

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

最近更新的内容

    • 如何终止一个命令行程序的进程?
    • 关于动态创建的控件的消息处理,大家来帮帮忙!
    • CoInitializeSecurity的小问题
    • 有关BSTR转换的问题
    • 求助怎样用VC编写自定义通信协议
    • 关于SearchHooks的运行问题!明天就要回校了!!请高手帮忙解决!!
    • 一个多线程的入门问题,控制台程序不输出
    • ADO2类在VS2013中编译出错WIN7
    • 请行家帮助估价
    • MFCActiveX中如何同时绘两路视频,并相互不影响?

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

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