文档库 最新最全的文档下载
当前位置:文档库 › COM组件技术讲义05

COM组件技术讲义05

COM特性

内容

!

!

!

!

!

复习:对象创建过程客户组件

创建实例对象

DllGetClassObject {

}

创建类厂对象

复习:TreeView组件的注册信息

Microsoft TreeView Control

C:\WINDOWS\SYSTEM\COMCTL32.OCX

COMCTL.TreeCtrl.1

{6B7E6392-850A-101B-AFC0-4210102A8DA7}

C:\WINDOWS\SYSTEM\COMCTL32.OCX

复习:类厂(Class Factory)

!

!

!

复习:类厂(续) !

字典组件IClassFactory

类厂

字典对象IDictionary

ISpellCheck

多对象、多类厂组件

类厂1

对象1

类厂2

对象2

复习:COM创建函数

!

!

!

!

复习:COM库

!

!

!

!

复习:实现一个进程内COM组件的步骤!

!

!

!

!

可重用性(reuse,复用)!

!

!

!

C++类的重用模型!

!

!

C++类的两种重用模型!

!

COM重用模型

!

!

!

COM 包容模型对象B

ISomeInterface 对象A

ISomeInterface

客户程序调用

调用

IOtherInterface

包容模型说明

!

!

!

!

!

聚合模型对象B

IOtherInterface

对象A

ISomeInterface 客户程序

调用

传递

调用

聚合模型说明

!

!

!

!

!

包容模型实现!

ISomeInterface , public IOtherInterface 包容:

外部对

象定义

HRESULT __stdcall SomeFunction( ) ;

HRESULT __stdcall OtherFunction( ) ;

HRESULT Init();

ISomeInterface *m_pSomeInterface;

包容:外部对象的实现

m_pSomeInterface = NULL;

if (m_pSomeInterface ! = NULL)

m_pSomeInterface->Release() ;

CB::Init()

HRESULT result = ::CoCreateInstance(CLSID_ComponentA, NULL, CLSCTX_INPROC_SERVER, IID_ISomeInterface,

(void **)&m_pSomeInterface) ;

相关文档
相关文档 最新文档