haitao:
根据刚才的讨论,是不是对delphi的事件机制需要加一个限制性说明?
[阅读: 614] 2006-06-02 05:03:17
根据刚才的讨论,是不是对delphi的事件机制需要加一个限制性说明?
如果事件触发密集时,而且处理过程较长
如果事件处理过程不使用ProcessMessages,
则后发的事件根本没有被触发、响应的机会
如果事件处理过程使用了ProcessMessages,
则后发的事件会得到触发、响应,
但是在新事件处理完之前,上一个事件没有机会被继续执行了,
即使新事件处理代码里也使用了ProcessMessages
如果这样,对于事件触发密集而且每个处理过程都较长时,
delphi的事件机制无法体现每个“并发”都被“同等”地处理着。。。
难道这就是很多用vc的人觉得delphi写的程序不好的原因??
也是文档里已经写了,只是写在那80%的部分?
不过这个这么基本的限制,应该写在20%里才是好文档嘛
关于delphi的事件响应就是函数嵌套调用的说法
我试验时发现,堆栈里的确有函数嵌套调用,event1->StdWndProc->event2
StdWndProc可能就是ProcessMessages
只是我的ProcessMessages是在一个共用方法log里执行(作为最后一个语句)的,
怎么堆栈里没有看到log这个方法??
优化了?还是因为是最后一个语句?还是机制略有不同??