• 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类中呀?

怎么把连接点连接到非ATL类中呀?

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

佚名通过本文主要向大家介绍了天眼查锂电池atl,atl方形动力电池,atl34砂轮,atl80.dll官方下载,atl等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 怎么把连接点连接到非ATL类中呀?
描述:

我写的ActiveX控件中,有一个ATL类,这个类中有一个成员是非ATL类的对象,我想在这个非ATL类中连接上事件。请问,这样能实现吗?怎么实现呢?


解决方案1:

class CYourMFCClass : public CWinThread //(CWinThread derives from CCmdTarget)
{
public:
    // member data and member functions for CPrintEditObj go here
// Interface Maps
protected:
    DECLARE_INTERFACE_MAP()
    BEGIN_INTERFACE_PART(MyCPContainer, IConnectionPointContainer)
        STDMETHOD_(....)();
    END_INTERFACE_PART(MyCPContainer)
    ......................
};
按照上面的方法把四个接口都实现了。
MFC中使用嵌套类来实现COM的

解决方案2:

客户程序和server连接时调用IConnectionPoint::Advise, Advise的第一个参数是客户的IUnknown接口,当你想调用客户的事件时, IUnknown->QueryInterface找到sink接口,然后调用sink接口的函数
(注:客户需要实现一个接口,供server程序回调用)

解决方案3:

1. 这个非atl类实现IConnectionPointContainer, IEnumConnectionPoints,IConnectionPoint, IEnumConnections 就可以了呀。
2. 用户那边得和你的server组件连上
A client can use the IConnectionPointContainer interface: 
To obtain access to an enumerator sub-object with the IEnumConnectionPoints interface. The IEnumConnectionPoints interface can then be used to enumerate connection points for each outgoing IID. 
To obtain access to connection point sub-objects with the IConnectionPoint interface for each outgoing IID. Through the IConnectionPoint interface, a client starts or terminates an advisory loop with the connectable object and the client's own sink. The client can also use the IConnectionPoint interface to obtain an enumerator object with the IEnumConnections interface to enumerate the connections that it knows about. 

解决方案4:

这个非ATL类实现ISomeEventSink就可以了,完全没问题,
atl有什么特别的,不就是c++写的嘛,我觉得用sdk写COM一样


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

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

  • 如何在ATL创建的控件中包含多个WINDOW的通用控件,非常着急?
  • 怎么调试ATL写的COM啊?
  • 关于ATL中自定义结构的问题。在线等待,解决后立即给分。
  • 怎么把连接点连接到非ATL类中呀?
  • ATL中暴露相同的方法,不同的参数怎么办?
  • ATL控件的疑问

相关文章

  • 2017-06-04 CreateInstance创建完对象不用了是不是要删除,怎么样删除?
  • 2017-06-04 请问如何在ActiveX中调用视类的函数来打开文件
  • 2017-06-05 请教!自定义类如何响应消息
  • 2017-06-05 在Service我想创建一个线程实现定时调用我的COM方法,为什么我不能在我的线程里边创建我的COM对象?
  • 2017-06-05 急,网页控件OCX加载dll
  • 2017-06-04 实力强的QQ群,程序员在深圳群有5个群人数早已超过一千人,云集了深圳范围内的软件精英
  • 2017-06-05 紧急求救,急需二唯码动态连接库
  • 2017-06-05 非高手勿入,代理服务器问题!
  • 2017-06-04 开发AtiveX控件时增加自定义类
  • 2017-06-05 关于VC怎么调用javascript代码?

文章分类

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

最近更新的内容

    • 没有psapih,哪里有?
    • 获取字符串的一段数据
    • 关于shellexeute返回结果的问题
    • 急!急!这个ADO问题到底该怎么解决?
    • 请问何谓回调函数,怎样调用一个回调函数?
    • 关于UI线程一问
    • CoInitialize是线程相关的吗
    • 如何在我的Activex控件中加一个picture控件?
    • 如何捕获界面显示时第三方控件报错???
    • Cimage获取像素值指针改颜色的问题

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

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