• 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的DLL到了VC。NET中就会异常,请教高手?

为什末同样的ATL的DLL到了VC。NET中就会异常,请教高手?

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

佚名通过本文主要向大家介绍了atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复,atl71.dll修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什末同样的ATL的DLL到了VC。NET中就会异常,请教高手?
描述:

我在VC。NET中用建立了一个ATL的DLL程序,在接口中加入了两个结构A,B。A中包括了一个B[10]的成员。又定义了一个函数FUN([in,out]A* a);在此函数中对a的成员进行了复值,(包括对B[10]数组的复值),编译后,在VB。NET中引用了此DLL,然后定义了一个A的对象,public a as new A,然后调用函数FUN(a).调用时发生了异常TypeLoadException,说无法封送A中的结构B。
我又作了其它的试验,发现如果A中只有一个B类型的成员,而不是B[10]的数组成员,就可以正确调用。而且这样的写法在VC中做得DLL在VB中调用是正常的,但是当升级到VC。NET和VB.NET中就发生了异常,该怎样解决呢?


解决方案1:

《IDL精髓》说:数组传送必须显示指定其长度,而你在A中隐藏了一个数组,COM在封装类A时,B[10]只是被封装成一个指针数值[32位整数],调用时(特别是跨语言时,有一个WRAPPER做中介)当成数组来使用,当然会出现异常了(即使经过列集)。所以你必须显示指定其长度。

解决方案2:

HRESULT forexample([in]LONG nItem,[in,sizeis(nItem)A *a])


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

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

  • ATL怎么实现可变参数的接口?
  • 怎样用ATL写一个含有其它组件的进程外COM
  • ATL7中加入socket的头文件编译出错
  • 在ATL工程MFC窗口调用Create失败(注:我的ATL工程支持MFC)
  • ATL正则表达式验证遇到中文出现异常!
  • 关于ATL做复合控件的问题
  • [讨论]ATL中的文本字符串,我该定义为什么类型
  • ATL开发指南第2版为什么所有的书店都没有卖的?电子版也没有
  • 大家一般都怎么打包Atl开发的ActiveX控件?
  • 求ATL解决方案

相关文章

  • 2017-06-04 ActiveX控件的问题,高手来拿分!!!
  • 2017-06-04 com中如何处理错误?
  • 2017-06-05 关于COleDocObjectItem的问题
  • 2017-06-04 vsnet中是否有MicroSoftCommunicationsControl。
  • 2017-06-05 请问关于dll注入禁止API调用的问题,请看里面
  • 2017-06-04 针对IE下载ActiveX控件时间太长(9M大小),怎样做一个友好界面?
  • 2017-06-04 基于MSComm串口通讯接收数据的问题
  • 2017-06-05 线程句柄与线程id有何区别?
  • 2017-06-04 文本朗读问题
  • 2017-06-04 exe的程序如何向调用它的程序提供interface,知道的进来说说,谢谢!

文章分类

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

最近更新的内容

    • WindowsMediaPlayer90控件使用时的全屏问题?
    • 控件打包成cab文件后不能使用是什么原因?
    • 如何在MFC程序中添加automation选项,在线等待
    • vs2010MFCCWMPPlayer4类媒体播放
    • 如何测试该DLL?
    • 两个程序协调问题
    • 有关OCX控件在其他机子上不能注册的问题??
    • 關於CWinThread的菜鳥問題
    • 请教哪有学习ActiveX(vc开发)的电子书下载?
    • 如何取得IE里COM组件所在的页面的URL地址

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

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