• 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 > 有挑战的事件问题

有挑战的事件问题

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

佚名通过本文主要向大家介绍了网购奶粉问题事件,奥凯问题电缆事件反思,西安问题电缆事件,奥凯问题电缆事件,西安地铁问题电缆事件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 有挑战的事件问题
描述:

一个COM事件接口包括3个事件函数,分别是1、2、3
在使用COM组件的客户端程序里分别有两个类a、b类接收这些事件
a接收1、2事件
b接收3事件
a可以正常接收但b接不到事件3
如果把事件3放到a中来接收(此时b也在接收)则a和b都可以正常接收了
COM组件采用ATL写的
响应客户端是一个MFC的对话框程序,由MFC的方式响应(即AfxConnectionAdvise这组函数写的)
使用VS2003


解决方案1:

这应当是你的事件接收器代码有问题"AfxConnectionAdvise"必须被使用2次,以确保a和b事件接收器同时都能与服务器的事件连接点联系上。

解决方案2:

学习...

解决方案3:

不好意思,我刚试了一下,在ATL里这样是可以的,当不实现某个事件函数时,相当于空实现并返回S_OK。是不是MFC的实现方法有什么不同?实在不行你可以在a里加一个3的空实现嘛。

解决方案4:

一个类实现了事件接口,就要编写事件函数的所有实现,所以不管a,b都应该实现所有事件函数,你这样的设计方法就不对。

解决方案5:

a接收1、2事件
b接收3事件
a可以正常接收但b接不到事件3
如果把事件3放到a中来接收(此时b也在接收)则a和b都可以正常接收了
这时候b岂不是没有事件接收? 但a却接收3个事件? 这说明什么?说明问题就在b里

解决方案6:

建议把代码贴上来分析一下

解决方案7:

关注一下!

解决方案8:

byouwenti

解决方案9:

检查一下你的组件,分开来一个个测试

解决方案10:

跟踪 事件代理 函数
1 确定是否都通知了 a 和 b,
2 确定在事件代理 函数中,在通知时,IUnknown * 是否有效,那个连接点的 cookie 就是 (LONG)IUnknown* 
这个很容易跟踪出来的

解决方案11:

估计和你的组件类别有关。
看看套件,希望对你有帮助。

解决方案12:

把发送和接收事件的代码贴上来看看吧,你这么光说怎么解决?


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

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

  • 有挑战的事件问题

相关文章

  • 2017-06-05 怎样区分VC中EXE文件的代码区和数据区
  • 2017-06-04 MFC开发基于对话框的ActiveX控件中嵌入菜单和为工具栏添加tooltip问题???本人绝对守信用。
  • 2017-06-04 在ATL中用MFC类好不好?
  • 2017-06-05 ###求端口与进程映射的源码###
  • 2017-06-04 网络浏览器控件有人用过否?
  • 2017-06-04 Helpme:COMBSTR字符串与wchar_t字符串能相互转换吗?
  • 2017-06-05 使用ATL编写COM组件,然后编写了一个MFC的测试程序,测试程序调用COM可以正确运行,但是在ATLCOM调试运行MFC测试程序时出错。出错
  • 2017-06-04 DataGrid控件如何选择多行?
  • 2017-06-04 如何利用COM+创建服务器端和客户端安装程序
  • 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
  • 微信公众号

最近更新的内容

    • ATL开发出的COM组件封装了ADO功能,在本机执行可以连接数据库,而远程调用COM则连接失败,请大家指点。
    • 如何在dll中建立窗口?
    • 新手求教:如何在控件中自定义方法呢?
    • TryEnterCriticalSection的编译错误
    • COM组件客户端,#import生成的代码为什么叫raw_XXXX之类的函数?
    • 怎么样用VC编程结束在任务管理器中的进程????
    • 请教:GUI程序想与Dos下的程序进行信息交互问题
    • 使用ATL写了一个BHO,请问能在JavaScript里使用BHO中的函数嘛?
    • MacromediaFlashPlayerActiveX窗口相关问题
    • 紧急求救在MFC程序中手工添加ATLCOM对象

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

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