您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > Visual C++开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

在VC++6.0中用MFC进行COM编程
2002-03-27· ·杨宁··

上一页  1 2 3  下一页

  二.声明组件类CTimeLogServer和实现接口的嵌套类

  在ClassWizard中添加新类CTimeLogServer,其基类选择为CCmdTarget.修改其头文件TimeLogServer1.h,加上#include ";ITimeLogServer.h";;同时在类声明体中加上

//声明实现ITimelog接口的嵌套类
    BEGIN_INTERFACE_PART(TimeLog,ITimeLog)//自动声明IUnknown接口的三个方法
    STDMETHOD(OutputLog)(BSTR* varLogText);
    END_INTERFACE_PART(TimeLog)
    //声明接口映射
    DECLARE_INTERFACE_MAP()
    //声明类厂
    DECLARE_OLECREATE(CTimeLogServer)

  三.实现类厂和接口映射

  在CTimeLogServer的实现文件中写入:

//实现类厂
IMPLEMENT_OLECREATE(CTimeLogServer,";TimeLogServer";,
0xa433e701, 0xe45e, 0x11d3, 0x97, 0xb5, 0x52, 0x54, 0x4c, 0xba, 0x7f, 0x28);
//映射接口到相应的嵌套类
BEGIN_INTERFACE_MAP(CTimeLogServer,CCmdTarget)
INTERFACE_PART(CTimeLogServer,IID_ITimeLog,TimeLog)
END_INTERFACE_MAP()

  四.在组件的构造和析构函数中对全局对象计数

CTimeLogServer::CTimeLogServer()
{
    ::AfxOleLockApp();
}

CTimeLogServer::~CTimeLogServer()
{
    ::AfxOleUnlockApp();
}

  五.为嵌套类实现IUnknown接口

//为嵌套类而实现IUnknown接口
STDMETHODIMP_(ULONG)
CTimeLogServer::XTimeLog::AddRef()
{
    METHOD_PROLOGUE(CTimeLogServer,TimeLog)
    return pThis->;ExternalAddRef();
}

STDMETHODIMP_(ULONG)
CTimeLogServer::XTimeLog::Release()
{
    METHOD_PROLOGUE(CTimeLogServer,TimeLog)
    return pThis->;ExternalRelease();
}

STDMETHODIMP
CTimeLogServer::XTimeLog::QueryInterface(REFIID riid,void**ppvObj)
{
    METHOD_PROLOGUE(CTimeLogServer,TimeLog)
    return pThis->;ExternalQueryInterface(&;riid,ppvObj);
}

  说明:虽然CCmdTarget类已经实现了IUnknown接口,但是还必须通过上述代码来将嵌套类的IUnknown映射到CCmdTarget支持的IUnknown接口.METHOD_PROLOGUEH宏的两个参数分别是实现组件对象的类和实现接口的嵌套类。

上一页  1 2 3  下一页

■ 相关内容
 公寓间的线程调度问题
 COM组件中使用用户自定义数据类型
 用ATL建立轻量级的COM对象(八)
 用托管C++开发Win表单的一般方法
 MFC文件浏览程序中改变文件读写对话框样式
 使用Microsoft Agent的COM接口编程
 COM中的可连接对象与连接点机制及其MFC程序实现
 MFC中自由使用自定义消息
 为MFC和ATL控件创建签署的CAB文件
 MFC编程特点
 应用MFC开发高级应用程序
 MFC中所提供的各种视类介绍
 MFC中常用类,宏,函数介绍
 利用MFC进行开发的通用方法介绍
 利用Visual C++/MFC开发Windows程序
 Visual C++/MFC入门教程
 MAP原理及其在MFC中的实现
 理解Visual C++.NET定制MFC应用程序
 MFC中多线程的应用
 MFC简单打印方法
 谈谈MFC中的消息映射
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!