VS2010创建ATL工程及使用C++测试COM组件

VS2010创建ATL工程及使用C++测试COM组件
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
10.编译运行,会生成dll文件,并自动注册到系统中。
11.测试该COM组件,可以将MyCom_i.h和MyCom_i.c两个文件拷贝到自己的自己创建的工程目录下。
在这里插入图片描述
12.测试组件运行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

芯片IC附近为啥要放0.1uF的电容?看完秒懂~

数字电路要运行稳定可靠,电源一定要”干净“,并且能量补充一定要及时,也就是滤波去耦一定要好。什么是滤波去耦,简单的说就是在芯片不需要电流的时候存储能量,在需要电流的时候又能及时地补充能量。有读者看到这里会说…

无线中继蹭网(转)

随着无线技术的逐渐成熟,无线设备的价格也越来越低,已经有不少的家庭开始在自己的家中建立无线网络,利用笔记本,具备WiFi功能的手机连接无线网络享受冲浪乐趣,很多时候为了节约网费可能几家人一起共用一个ADSL上网帐号…

深入掌握Linux操作系统,其实也没你想象那么难

曹政大家应该都不陌生吧,众多IT人的偶像,数据、技术、业务,无一不精,被大家称为曹大。在曹大的一篇文章中,他曾经提到过,1998年,自己的第一份工作接手的是一个Windows系统下的人才网站系统&…

WSS页面定制系列(1)--如何启用表单页面的编辑模式

wss的大多数页面右上角的“站点操作”菜单都有一个编辑网页菜单项,用这个菜单项,可以启用当前页面的设计模式,修改或添加webpart。但是奇怪的是,所有的表单页面(用来新建,编辑,查看列表项的页面…

单片机检测220V交流电通断电路

我们在topemic网站上分享过一篇题为"单片机检测220V交流电通断电路"的文章,目前有近万次阅读,在这里做个总结分享给没有读过该文的公众号朋友。废话不多说,直接上图:该电路工作原理如下:当220V断开时&#x…

Qt值得学习吗?详解Qt的几种开发方式

qt值得学习吗?嵌入式要学的东西真的很多,我们可能会说不写界面的话就不用学qt了?我不赞同。Qt的实现主要是采用p-impl手法,实现接口与实现分离,它有很好的消息循环机制,有的对象与线程的相关性,…

技术QA:如何安装并启用BITS和WebDAV?

引子: 在安装SCCM 2007 SP1时,必须要安装并启用BITS和WebDAV,否则在SCCM 2007 SP1安装先决条件检查时将会报错。它们以前都是IIS的功能组件,但是在IIS 7中变动很大,特别是在 Windows Server 2008 操作系统中现在已经不…

C语言,谁都能看得懂的归并排序

喜欢看排序算法动态效果的,可以看看这个网站https://visualgo.net/zh/sorting里面很多算法的动画解释,可以看到算法的排序效果,而且还附带了伪代码的实现过程。本来想录制几张动图放上来,但是因为图片较大,传不上来&am…

内核链表list.h文件剖析

内核链表list.h文件剖析 一、内核链表的结构【双向循环链表】 内核链表的好主要体现为两点,1是可扩展性,2是封装。可以将内核链表复用到用户态编程中,以后在用户态下编程就不需要写一些关于链表的代码了,直接将内核中list.h中的代…

CAN总线很难吗?CAN总线看不懂是不可能的!

CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN有很多优秀的特点,使得它能…

C语言必须写main函数?最简单的 Hello world 你其实一点都不懂!

我们在刚写程序的时候,第一个都是 hello world,而在这里,完整的代码就是:我们打眼一看,其实很简单,就是引入头文件,写一个主函数,然后输出一句话,但是当我们编译出来ELF的…

源码包安装

一、源码包和RPM包的区别 1、区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2、RPM包安装位置 是安装在默认位置中 注:安装位置是写RPM包的作者决定的 注:RPM包支持指定安装位置,但是不建议指定位置安…

Linux下修改SSH登录端口

Linux下修改SSH登录端口LINUX 的默认SSH 端口是 22。为了防止别人暴力破解,建议修改SSH 访问端口:vim /etc/ssh/sshd_config 找到Port 22 这一行,这是是默认端口22,现在改成Port 1234这个数字自己定,但是不要超过65536…

五岁的时候,你在干什么?

文章写在2021.2.7号——想不到啊想不到,这么快你就五岁了。今天是楠哥的生日,在五年前的今天,小伙子在深圳宝安妇幼出生,刚出生的时候,样子很丑,第一次见面,我心情很紧张,不怎么敢靠…

TQ210——核心板和底板

TQ210——核心板和底板 1、TQ210简介【TQ210_COREB核心板 TQ210_BOARD_V4底板】 三星Cortex-A8 S5PV210芯片,运行最大频率1GHZ,处理器内部为64/32位总线结构,32/32KB一级缓存,512KB二级缓存。自带3D加速引擎(SGX540&a…

“华为天才少年”自制百大Up奖杯,网友:技术难度不高侮辱性极强

来源:雷锋网B站硬核黑科技Up主、AI算法工程师稚晖君,停更了好一阵子后,这位自称野生钢铁侠的超硬核Up主终于又发布了新作品。之所以停更这么久,Up主解释说,不是因为在野外被捕了,纯粹是因为工作太忙了。熟悉…

终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!

芯片之家前几天发了一篇文章,讨论1个GPIO控制2个LED显示4种状态,并没有带具体的实验现象,有点小遗憾:绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?(点击阅读&#xf…

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap

HACK #15 ramzswap 本节介绍将一部分内存作为交换设备使用的ramzswap。ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备。对要换出(swapout)的页面进行压缩后,不是写入磁盘,而是写入内存。可以使用的内存仅为完成压…

TQ210——底板部分原理图

TQ210——底板部分原理图 1、主电源接口(过压过流保护) 2、串行接口 2路5线RS232电平的DB9接口,4路TTLT电平扩展接口 COM1和PC之间通信需使用直连串口线 COM2和PC通信需使用交叉串口线 接口UART2可接GPRS模块实现打电话发短信功能&#xff1b…

有趣的灵魂百里挑一,Linux同学你低下头干嘛,起来说下这个问题。

今天我们不讲源码,不说面试题,我们来说点轻松的,聊点好玩的,我们来看看linux下有哪些酷酷的,有意思的命令。0x00 sl - 呜呜,让开,小火车来啦0x01 cowsay - 一起来 say hello0x02 cmatrix - 超级…