永发信息网

用ATL写的COM组件在VC里怎样使用

答案:1  悬赏:0  手机版
解决时间 2021-11-27 22:31
用ATL写的COM组件在VC里怎样使用
最佳答案
该方法实现步骤如下:

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

CoInitialize(NULL);

……

CoUnInitialize();

上述语句运行在MFC框架/非MFC框架中,但由于本文程序使用MFC框架,所以也可以利用AfxOleInit()函数对其进行初始化。

2. 然后用#include 语句包含对组件头文件的引用并创建组件对象。在头文件中包含了接口的C++定义以及说明接口ID IID和类ID CLSID的符号化常量。创建工作在初始化对话框函数中进行:

IAccount pAccount=NULL;

……

CoCreateInstance(CLSID_Account,

NULL,

CLSCTX_INPROC_SERVER,

IID_Iaccount,

reinterpret_cast (&pAccount));

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

if(pAccount!=NULL)

pAccount->Realease();

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

……

BSTR bstrResult;

PAccount-> Post(100,bstrResult);

SysFreeString(bstrResult);

……

由于COM支持类在comdef. h中定义,所以还要包含对该头文件的引用,才可以使程序正常运行。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
定语从句 there are few of us____ wish to h
320/400V空气开关能用几台空调和一架冰箱
隆德到甘肃崇信县有多远
我想请教一下选拍子的问题,横板,业余水平,
废铝灰有毒吗
一个工人已经加工了一批零件的80%,还剩24个
nba2k19生涯模式中,开始怎么没有CBA?
周四两点到周六10点之间多少个小时
浪漫从天降空姐的扮演者是谁
缘愁似个长中的缘是什么意思
命中带两个华盖,是不是会成为风水大师,如若
khq(国际品牌童装童鞋专店)地址在什么地方,
次氯酸不是强氧化性,为什么不能把溴水褪色,
木札岭在哪?距离许昌多远
为什么世界四大乐队有BEYOND,为什么世界十大
推荐资讯
冷藏车制冷机组有哪些品牌
怎么样处理Dom4j与Log4j的路径问题
广州佳瀚机电设备有限公司怎么样?
如何认定自建自用住房
华硕P5PL2-E主板怎么超频
什么会产生pm10
43x(80十37)一80x(43一37)怎样算间便
今天分手第八天,要我怎么去做
介绍一下新年传统习俗一百字左右
孩子晚上哭闹是中邪吗
相识相知二十历程风雨无阻,相聚相守无常岁月
拳皇2002里面每一个角色的隐藏必杀技
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?