COM逐步教程
2006-07-22 22:54:38 来源:WEB开发网核心提示: MsgBox "total = " & iAdd.DoTheAddition()第13步:我们之前使用了以下的文件:IAdd.idl 包含了的接口声明,AddObj.h 包含了类CAddObj的C++类声明,COM逐步教程(9),AddObjFactory.h包含了类C
MsgBox "total = " & iAdd.DoTheAddition()
第13步:
我们之前使用了以下的文件:
IAdd.idl 包含了的接口声明。
AddObj.h 包含了类CAddObj的C++类声明。
AddObjFactory.h 包含了类CAddFactory的C++类声明。
AddObj.cpp 包含了类CAddObj的C++类实现。
AddObjFactory.cpp 包含了类CAddFactory的C++类实现。
Exports.cpp 包含了DllGetClassObject、DllCanUnloadNow和DllMain的实现。
Registry.cpp 包含了DllRegisterServer、DllUnregisterServer的实现。
AddObjGuid.h 包含了我们的COM对象AddObj的GUID值。
第14步:
类型库也可以随同AddObj.dll一同被发布。为了简化这一过程,IAdd.tlb类型库也可以作为AddObj.dll的一个资源文件嵌入其中。这样一来,就可以只向客户发布DLL文件AddObj.dll了。
第15步:
一个Visual C++客户端可以通过以下几种方法来使用COM接口:
1. #impott "IAdd.tlb"。
2. IAdd.h头文件。在这种情况下,DLL的卖主必须将IAdd.h头文件随同DLL一同发布。
3. 使用一些向导工具(例如MFC的Class Wizard)产生C++代码。
对于第1种方法,编译器创建一些包含了接口声明的中间文件(.tlh、.tli)。更进一步说,编译器也在原始接口的基础上定义了智能接口指针。智能接口指针类使得COM程序员能更轻松地管理COM对象的生存期。
更多精彩
赞助商链接