软件集成接口.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组件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值