• 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组件时,不同接口函数名相同,如何处理

实现COM组件时,不同接口函数名相同,如何处理

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

佚名通过本文主要向大家介绍了税控服务器组件接口,组件接口,组件接口规范,com组件接口,病人接口组件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 实现COM组件时,不同接口函数名相同,如何处理
描述:

一个组件同时要实现IOleClientSite和IOleObject两个接口,但他们有一个函数GetMoniker一样,如何加关键字做区分


解决方案1:

写两个中间类:
方法1:
struct _IOleClientSite : public IOleClientSite
{
    GetMoniker()
    { return ClientSite_GetMoniker();}
    virtual ClientSite_GetMoniker() = 0;
};
struct _IOleObject : public IOleObject
{
    GetMoniker()
    { return Object_GetMoniker();}
    virtual Object_GetMoniker() = 0;
};
class Derived : public _IOleClientSite, public _IOleObject
{
public:
    ClientSite_GetMoniker(){}
    Object_GetMoniker(){}
}
方法2(如果你不想引入新的虚函数)
template<class DeriveType>
struct _IOleClientSite : public IOleClientSite
{
    GetMoniker()
    { return static_cast<DeriveType*>(this)->ClientSite_GetMoniker();}
};
struct _IOleObject : public IOleObject
{
    GetMoniker()
    { return static_cast<DeriveType*>(this)->Object_GetMoniker();}
};
class Derived : public _IOleClientSite<Derived>, public _IOleObject<Derived>
{
public:
    ClientSite_GetMoniker(){}
    Object_GetMoniker(){}
}

解决方案2:

用组合方式实现不能同时实现。比如a实现site,b实现obj,然后b作为a的成员。然后在使用上
GetMoniker2(){
return b.GetMoniker();
}


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

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

  • 怎样定义接口,使com组件能够返回一个二进制的流(比如图片数据)
  • 那个接口能在COM组件中实现可控制的定时器?
  • 如何将现有的项目,加些接口,变成进程外组件?
  • 服务组件的接口住息
  • 组件实现什么接口,可以读取或设置到IE的打印设置内容?
  • 关于组件接口的应用问题
  • 进程外服务器组件接口定义问题,希望高手能提供解决方案,谢谢!
  • 已获得一个组件的接口指针,如何将此组件显示在窗口中?
  • 一个组件所支持的接口越多,这些组件就应该越小?
  • 如何创建进程外组件继承已有组件接口

相关文章

  • 2017-06-04 请问如下的问题怎么解决啊
  • 2017-06-05 请教,如何在COM里面创建一个JavaScript对象
  • 2017-06-05 一个关于DLL的问题
  • 2017-06-04 ATL中如何封装打印机?或相关内容,50奉献热心帮助之士!~
  • 2017-06-04 程序如何实现把IE的当前页面保存下来?
  • 2017-06-04 在activex中如何获得容器如ie的hWnd
  • 2017-06-05 请问一个关于PE文件的问题
  • 2017-06-04 ocx的重绘问题
  • 2017-06-04 惨!惨!惨!高分寻光盘资源!!!不够再加分!
  • 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
  • 微信公众号

最近更新的内容

    • 如何通过ocx界面上的按钮来关闭网页
    • 求助简单的数据库链接
    • ActiveX的控件开发中,无论如何我也达不到可以传类对象的目的,请高手指教!
    • ATL进程外组件如何调试?
    • 动态库难题请各位专家帮忙解决!很急!先谢谢了!!
    • 内核中获取winexec函数地址
    • 赚钱怎么赚呀
    • 在线等…………一个奇怪的问题
    • (困扰好久)导出MSProject2003类型库接口问题
    • pjf基于活动进程链的Win2000下进程隐藏--如何修改在XP。

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

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