VS2010创建ATL工程及使用C++测试COM组件
2014年09月05日 ⁄ 综合 ⁄ 共 563字 ⁄ 字号 小 中 大 ⁄ 评论关闭 <iframe id="cproIframe_u1788635_2" width="336" height="280" src="http://pos.baidu.com/acom?adn=3&at=231&aurl=&cad=1&ccd=32&cec=UTF-8&cfv=17&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&dai=2&dis=0&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DqC5As5KXWDeMLXD5A0S1_Ntv6Y3haZDKJOvTx-dyynxF5bReZdXrmr3aQAwT4Trj%26wd%3D%26eqid%3D961a3b0e0002dbe60000000556283ce7&ltu=http%3A%2F%2Fwww.xuebuyuan.com%2F2142379.html&lu_161=0&lunum=6&n=83099053_cpr&pcs=1440x739&pis=10000x10000&ps=486x946&psr=1440x900&pss=1440x506&qn=eb224a7c314872c2&rad=&rsi0=336&rsi1=280&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%230000ff&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_3&stid=5&td_id=1788635&titFF=%E5%AE%8B%E4%BD%93&titFS=12&titTA=left&tn=text_default_336_280&tpr=1445477585867&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1788635&ti=VS2010%E5%88%9B%E5%BB%BAATL%E5%B7%A5%E7%A8%8B%E5%8F%8A%E4%BD%BF%E7%94%A8C%2B%2B%E6%B5%8B%E8%AF%95COM%E7%BB%84%E4%BB%B6%20%7C%20%E5%AD%A6%E6%AD%A5%E5%9B%AD&tt=1445477585851.1950.2995.2995" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="margin: 0px; padding: 0px; border-width: 0px; background-color: transparent;"></iframe>1.创建ATL项目,取名MyCom
2. ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。
3.在该项目中添加类
4.添加一个ATL简单对象
5. ATL 简单对象向导,“简称”中输入类名称MyClass,其他输入框会自动填写,最下面的“ProgID”没有自动填写,最好自己写上一个,如MyCom.math,否则后面无法正确调用组件,点击“完成”。如果出现提示【是否覆盖现有文件】,点击【是】即可。
ProgID:客户端用来取代CLSID
创建此组件的编程ID
6. 切换到类视图,选中刚才添加的接口IMyClass,如下,然后右键单击【添加】添加方法。
7.添加方法TotalSum,依次选择参数类型并输入参数名字
此处传入一个参数n(in),返回一个参数sum(out)
8. 切换到解决方案资源管理器,展开项目“源文件”, 双击 MyCom.idl 打开IDL定义文件,看到如下代码,就是定义的COM方法了。
9. 双击打开MyClass.cpp 编辑代码,计算0到n的总和
#define STDMETHODIMP HRESULT
11.测试该COM组件,可以将MyCom_i.h和MyCom_i.c两个文件拷贝到自己的自己创建的工程目录下。
12.测试组件运行结果: