软件集成接口.COM组件交互(1)

要问COM组件是个什么东西,自不用我多说,凡是在WINDOWS下编过程序的人员,没有经历过COM组件的洗礼,都是菜鸟。

老实说,我看过潘爱民的《COM原理与应用》,也在VC知识库里研究过关于COM的文章,但最终,也许是我太笨,也许是我天赋不够,我始终对COM组件知晓不多,总有一种云里雾里的感觉。

在我的认知里,COM组件是微软很成功也很失败的一个作品:说它成功,因为它确实真正做到了二进制层面上的复用,无关软件,无关语言,甚至无关平台;说它失败,因为它实在是比较复杂,导致现在被大伙所抛弃–当然,微软本身似乎没有办法抛弃它。

在这里我无法阐述更多的COM原理知识,一是没必要,二是我不懂。

但我会用COM,对我来说,这就够了。

总体上,我们需要做两件事情:写一个COM组件,然后调用它。

1)写一个COM组件

写一个COM组件,我们能够用的工具,大约有三种:VB,VC++(一般用ATL),VC#

就便利性而言,使用C#是最好的,因为C#开发效率高(非托管的C++中处理WEB交互很让我头疼),有足够的控件支持(C++里最让我头疼的是缺乏好的TreeList控件)

或许有人会说,何必费那个劲用C#写个COM组件找苦吃我的工作环境来说,这是很有必要的,比如某个EDA软件,只支持VBS脚本开发,你若想出个界面,并且和服务器交互,那么就必须从VBS中跳出来,而COM组件就是一个很好的跳板,从它跳到C#之后,一切都海阔天空了。

2)调用COM组件

调用COM组件其实应该包含两部分内容:1.调用COM组件提供的对象方法;2.响应COM组件提供的事件。前者相对来说比较简单,后者就要麻烦一些。

接下来,我们先用C#写一个COM组件。

来源:super_admi

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月1日
下一篇 2017年10月1日

相关推荐