:28.385KB : :1 :2023-01-30 13:26:29
只有熟练了C++和模板后才能读懂COM里各种实现的源码,不管是IUnknown、IClassFactory还是IDispatch等各种接口里各种方法的具体实现原理,还是类型库、连接点等实现原理,都只有在读懂了ATL源码后才会恍然大悟,才知道这里是怎么实现的,为什么要这样实现,也只有读懂了ATL源码才能知道COM实现类厂、创建COM的一系列过程。windows系统里大量使用了COM组件包括ActiveX也是在COM的规范上实现的,平时使用到的很多功能其实都可以通过调用COM来实现。因为使用易语言的人群大多都不会C++,所以就有了今天这个源码和教程。
说的有点远了,易语言一直以来都是只能调用COM而不能编写COM,以前在易语言官方论坛上看到过有一些人的尝试,也写出了简单的DEMO,但是都不是比较成熟的框架或模板,需要编写者对COM有一定程度的了解才能修改,一般不熟悉COM的人是修改不了也使用不了的。最开始本来是打算写一个增强COM功能的支持库,但是后面还是想写一个编写COM的模板比较好,经过两天时间的编写和调试才把这个模板写出来,说一下在这个模板上编写自己COM组件的几个注意事项。
这里我们就实现了一个方法叫ceshi,并且它没有参数(虽然这里有一个整数型参数this,但是前面说了这个参数每个我们实现的函数都要有并且不能使用,所以这个ceshi函数相当于没有参数)
压缩包里提供了一份纯模板源码,两份从模板修改的COM源码和对应的idl文件,都只实现了一个名叫ceshi的方法,“ComTemplate1无参信息框例子”编译生成的COM组件里的ceshi方法没有参数,“ComTemplate2有参信息框例子”编译生成的COM组件里的ceshi方法有一个文本参数。
02-02完整的易语言编写的加壳程序开源
11-15易语言编写操作系统
09-24易语言编写OD插件,特征码定位
08-28易语言编写三菱PLC上位机,步进电机
08-27易语言编写三菱PLC上位机,点亮关闭灯
05-11易语言编写注册激活软件
01-05易语言编写系统清理工具
01-05易语言编写win系统服务程序源码
01-05易语言编写驱动新方法
12-28易语言编写支持库模版,超简单代码易懂