• 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 > 向一个已有的CCmdTarget类中添加一个从IDispatch派生的接口,我是这样做的。

向一个已有的CCmdTarget类中添加一个从IDispatch派生的接口,我是这样做的。

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

佚名通过本文主要向大家介绍了 向一个已有的CCmdTarget类中添加一个从IDispatch派生的接口,我是这样做的。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 向一个已有的CCmdTarget类中添加一个从IDispatch派生的接口,我是这样做的。
描述:

1 在已经有的*.odl中定义接口
//INewInterface1
[
object,
uuid(78E1DE21-A459-11d4-98DB-0080C8F5B2E4),
dual,
helpstring("INewInterface1 Interface"),
pointer_default(unique)
]
interface INewInterface1 : IDispatch
{
[id(1)] [helpstring("method Show")] HRESULT Show();
};
2 在已经有的*.Cxxx.h中定义嵌套类
  ...
  BEGIN_INTERFACE_PART(NewInterface1, INewInterface1)
    STDMETHOD(GetTypeInfoCount)(UINT FAR* pctinfo);
    STDMETHOD(GetTypeInfo)(UINT itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo);
    STDMETHOD(GetIDsOfNames)(REFIID riid, OLECHAR FAR* FAR* rgszNames, UINT cNames, LCID  lcid, DISPID FAR* rgdispid);
    STDMETHOD(Invoke)(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo, UINT FAR* puArgErr);
   STDMETHOD(Show)();
 END_INTERFACE_PART(NewInterface1)
 ...
3 在已经有的*.xxx.cpp中实现嵌套类接口的方法:
  STDMETHODIMP_(ULONG) CMyObject1::XNewInterface1::AddRef(){  }
  ...
  STDMETHODIMP_(ULONG) CMyObject1::XNewInterface1::Show() { } 
4 可能还有一步需要及那个编译*.odl生成的关于接口的ID和定义*.h文件,放到*.Cxxx.h中,但我不知道如何做,所以编译出现这样的错误:
Compiling...
SourceObj.cpp
d:\visualc++\sourcecode\addnewinterface\sourcecomp21\sourceobj.h(53) : error C2504: 'INewInterface1' : base class undefined
Error executing cl.exe.
SourceComp21.dll - 1 error(s), 0 warning(s)
(曾经试过在Project/Setting/MIDI/对*.odl文件输出过*.h,发而错误更多!)
不胜感激。


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

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

  • 向一个已有的CCmdTarget类中添加一个从IDispatch派生的接口,我是这样做的。

相关文章

  • 2017-06-05 webbrowser诡异的滚动条
  • 2017-06-04 哪个网站有cscomb32ocx控件,请各位兄弟说说看
  • 2017-06-04 关于参数传递的问题,大虾们过来看看
  • 2017-06-05 远程注入键盘钩子问题
  • 2017-06-04 有关本论坛的问题,强烈要求予以解决!!!
  • 2017-06-04 请问一下怎么在界面上加上声音播放
  • 2017-06-05 +++++++超级话题-----------每一个人都来说一个@@@没有什么文凭,但是却很有成就的程序员@@@,&&&可以是你身边的人,可以是你公司的人,
  • 2017-06-04 MFC中多个对话框怎样共用MSComm控件
  • 2017-06-05 谁能给我提供一个简单的多线程网络浏览器的源代码呀
  • 2017-06-05 我想在vc中隐式加载一个dll,但是我没有lib文件,请问应如何做?

文章分类

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

最近更新的内容

    • 奇怪错误问题50分求解
    • 请教如何在Non-MFCDLL中显示对话框
    • 进程控制问题,大家快来看一看呢
    • 来的都有分:IE里的控件是怎么开发出来的?比如说什么打印啦,加密啦,月光宝盒什么的
    • 用AfxBeginThread生成线程,会调函数设置成成员函数事怎么老说类型不能转化,怎么办?
    • 谁能解决我的问题。
    • 用API的CreateThread方法创建的线程如何接收线程消息?
    • 如何获取世界各地的天气预报信息
    • 用VC++6创建DLL文件时遇到问题请帮忙!谢谢!!!
    • VC+ADO下连接并操作sql2005数据库方法总结

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

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