• 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 > 修改COM接口,但访问添加的函数,抛出AccessViolation异常。

修改COM接口,但访问添加的函数,抛出AccessViolation异常。

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

佚名通过本文主要向大家介绍了com接口,com接口是什么,com接口图片,主板com接口,com接口有什么用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 修改COM接口,但访问添加的函数,抛出Access Violation异常。
描述:

环境:ATL COM
问题描述:现有一个运行良好的COM组件,新的功能需要在原来的接口里面添加一个新的函数,我的做法如下:
1。在idl的接口里面添加了这个函数的定义。
2。实现类所在的h文件里面添加对应函数的声明。
3。实现类的cpp文件里面添加了具体的函数实现。
4。重新编译dll,先Unregister原来的组件,再Register新生成的dll。
错误症状:
1。调用接口的新函数的时候,抛出AccessViolation异常。
2。调用接口里面的其他函数正常。
我的函数声明和函数实现都是没有问题的,dll编译也正常。我怀疑是com注册的问题,新函数没有注册成功。
由于我对COM不是很熟悉,所以可能有一些基本的步骤错了或者是漏掉了,希望有经验的朋友帮忙看看。谢谢。


解决方案1:

应该是你接口或者什么地方加错了,接口新增函数是可以的。
要么就是你导入的头文件或tlb版本和dll不一致,用oleview看一下dll的路径是否是你最新的dll

解决方案2:

1,先排除是否客户端问题,,可以用其它工具,比如DELPHI写客户端来调用.
2,看看是否函数里面具体代码有问题.

解决方案3:

用容器看看,新的接口函数是否已经加上;
调试看看是哪一行引起的;
该错误一般是指针指向了非法地址或数组越界。

解决方案4:

客户端也是VC写的吗?rebuild过没有?

解决方案5:

我的意思是。你原来的接口已经在用的,不能再改了,应该再定义一个新的接口来实现新的功能,不是修改原来的接口


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

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

  • 急======》COM接口中,其接口函数是否可重载
  • 怎么在同一个com库中一个接口的方法中返回另一个接口分不够另外加分
  • 接口如何在COM类中调用?
  • 关于COM的参数类型问题
  • COM接口问题
  • COM接口问题
  • 请问,COM接口是否可以传递自己定义的结构?
  • com接口参数传递的问题
  • COM接口的问题(有代码)
  • 如何在COM接口中把自定义的类型传递出来使用?

相关文章

  • 2017-06-04 200分求救,不够再补:连接点和多线程问题,进来看看吧,up者有分!
  • 2017-06-05 问一个很简单的线程问题
  • 2017-06-04 ATL高手指教!
  • 2017-06-05 请问如何获得当前系统内存使用情况、进程信息?
  • 2017-06-04 求助:用什么工具可以修改编译后的ActiveX的typelib信息?
  • 2017-06-04 DSHOW里的CLSID_AudioEffects1Category是什么?
  • 2017-06-05 请帮我看看Dll延时加载的问题DelayLoad?
  • 2017-06-04 VB响应ATLCOM事件,可就是不能写处理程序
  • 2017-06-05 控件ocx的library显示为空,请教该如何解决?
  • 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
  • 微信公众号

最近更新的内容

    • 弱问题,但我百思不得其解?COM中字符串的声明
    • 不使用IPersistFileCOM如何获取快捷方式的起始位置路径?
    • 救命啊!!我用CListCtrl时使用SetItemText设置某行某列值却老是更新了第一行,而不是我想更新的那行怎么回事,跟踪调试也发现行号没错
    • 100分,有作过MSExchangeInstantMessageIM开发的高人请进!
    • 救我!!!我不能没有饭碗~~~~~~~~~~~~
    • 有人知道QQ保存聊天记录的db文件使用的数据格式是哪一种么?
    • MFC在WinCE平台上ComboboxGetcursel怎么用
    • vs2005创建ATLCOMServer(Exe)怎么是空的?
    • 很奇怪的问题请大家帮忙检查下代码
    • 如何使用多线程ping多个主机呢?

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

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