由于TObject.Dispatch几乎被大量执行,为了提高效率,使用汇编语言撰写。在Dispatch方法中首先检查触发的消息ID是否在0~c000H之中,如果不在此范围调用DefaultHandler;如果是的话就调用GetDynaMethod从VCL组件中根据消息ID在动态方法表格中搜寻。如果找到能够处理消息的VCL事件处理函数就跳到此事件处理函数执行,否则就调用DefaultHandler虚拟方法来处理尚未分派的消息。
posted on 2007-05-09 17:39  左左右右  阅读(460)  评论(0编辑  收藏  举报