vc调用com方法

介绍在VC++ 6.0下编写COM客户程序的三种方法,虽然每一种方法都可以达到使用代码组件的目的,但详细了解并掌握所有方法会为根据具体情况选择适当方法提供更大的余地。

1、COM库函数

利用COM库函数使用代码组件的方法是介绍的三种方法中实现起来最麻烦和困难的方法。它要求开发人员必须具有对COM原理的深入理解。该方法实现步骤如下:

  1. 首先添加COM初始和终止代码。在应用程序类的初始化实例函数InitInstance()中添加如下代码:

CoInitialize(NULL);

……

CoUnInitialize();

上述语句运行在MFC框架/非MFC框架中,但由于本文程序使用MFC框架,所以也可以利用AfxOleInit()函数对其进行初始化。
AfxOleInit()和AfxOleTerm()其实也是需要成对的,但是,在你的程序中,AfxOleTerm()可以不出现,这是因为,MFC已经帮你做好了(有兴趣的话,你可以仔细研究一下
2. 然后用#include 语句包含对组件头文件的引用并创建组件对象。在头文件中包含了接口的C++定义以及说明接口ID IID和类ID CLSID的符号化常量。创建工作在初始化对话框函数中进行:

IAccount pAccount=NULL;

……

CoCreateInstance(CLSID_Account,

NULL,

CLSCTX_INPROC_SERVER,

IID_Iaccount,

reinterpret_cast (&pAccount));

  1. 最后释放组件对象。该工作应在程序退出之前完成,比如在消息WM_CLOSE的响应函数中进行:

if(pAccount!=NULL)

pAccount->Realease();

对该代码组件中的其他功能函数的调用,可以通过组件对象的接口指针pAccount来进行:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章