Programming 版 (精华区)
发信人: lofe ()感激生活(), 信区: Programming
标 题: COM难在哪里(二)
发信站: 哈工大紫丁香 (Sun Sep 3 08:12:03 2000), 转信
接上篇
二. Event。
DCOM中的Event是一种松耦合的概念,只是一个COM object告诉另一方我发生了什么
事,不要求即时响应,对响应结果也不关心。这种event恐怕除了做log以外用处不大。
更加常用的是VB中的紧耦合的event概念,不但即时响应而且可以通过参数操作COM
object。对COM object来说,event实际是个函数,COM和VB帮助你完成invocation。在
这个函数里不能anticipate user会写什么样的VB code,一般或多或少会改变一些该CO
M object的状态,很可能包括和event有关的状态。
举个最常见的例子:user在COM object的某个onConnectionRequest event里面写了
一句unload form,我们每个人都常常这样用(在Button_Click之类的event中);这就
意味着当execution从发event的函数返回,在相应的调用函数中继续执行的时候,这个
调用函数所依赖的object本身已经被析构了,如果没有特殊处理的话下面只能是一个大
大的“×”。
看到这里,是不是对VB有了新的看法?为了VB user使用方便C++ programmer要付出
多少代价啊。不过这个还罢了,VB所带来的恶梦还在下面。
--
※ 修改:.haojs 于 Sep 3 08:09:38 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: bbs.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: haojs.bbs@bbs.whnet.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.797毫秒