Programming 版 (精华区)

发信人: lofe ()感激生活(), 信区: Programming
标  题: COM难在哪里(三)
发信站: 哈工大紫丁香 (Sun Sep  3 08:12:14 2000), 转信

接上篇

三. UI。
    对于COM object而言,如果有自己的UI而且以VB为container的话,真正的nightma
re才刚刚开始。许多UI相关的window message是被VB的form截走了的,它给你再发模拟
消息或者让你从其他渠道得到这些信息。VB的form是个很糟糕的container,从COM obj
ect的角度来看,许多UI相关消息和正常的window相比不正常而且没有道理(在COM obj
ect看起来)。到VB6其实已经解决了许多bug。再者,ATL的frame对一些消息的处理也随
着版本而变化。
    光只是消息不正常倒也罢了,可是别忘了可怕的event。在event里写code可以引起
新的UI变化,结果会千奇百怪,有些bug M$自己的标准control也绕不过去。表现结果通
常是不知道为什么UI不能收到keyboard消息了,或者由于内部flag的错乱导致怪异的pa
inting或者非常奇怪地响应mouse。一些bug的原因是windows为了maintain一大堆windo
ws所必须的行为,谁让M$发明了VB这种大大方便user的东西并配之以object automatio
n的概念呢?还有SendKey这种东西,简直就是发明出来害人的(当然powerful at the 
same time)。
    因为有COM,所以VB是个很好的东西,这话一点不假;不过VB同时又是个害人精,也
因为有COM。

--
※ 修改:.haojs 于 Sep  3 08:09:51 修改本文.[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.376毫秒