中国开发网: 论坛: 程序员情感CBD: 贴子 336028
haitao
根据刚才的讨论,是不是对delphi的事件机制需要加一个限制性说明?
根据刚才的讨论,是不是对delphi的事件机制需要加一个限制性说明?
如果事件触发密集时,而且处理过程较长
如果事件处理过程不使用ProcessMessages,
则后发的事件根本没有被触发、响应的机会
如果事件处理过程使用了ProcessMessages,
则后发的事件会得到触发、响应,
但是在新事件处理完之前,上一个事件没有机会被继续执行了,
即使新事件处理代码里也使用了ProcessMessages

如果这样,对于事件触发密集而且每个处理过程都较长时,
delphi的事件机制无法体现每个“并发”都被“同等”地处理着。。。
难道这就是很多用vc的人觉得delphi写的程序不好的原因??
也是文档里已经写了,只是写在那80%的部分?
不过这个这么基本的限制,应该写在20%里才是好文档嘛

关于delphi的事件响应就是函数嵌套调用的说法
我试验时发现,堆栈里的确有函数嵌套调用,event1->StdWndProc->event2
StdWndProc可能就是ProcessMessages
只是我的ProcessMessages是在一个共用方法log里执行(作为最后一个语句)的,
怎么堆栈里没有看到log这个方法??
优化了?还是因为是最后一个语句?还是机制略有不同??
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录