由于TObject.Dispatch几乎被大量执行,为了提高效率,使用汇编语言撰写。在Dispatch方法中首先检查触发的消息ID是否在0~c000H之中,如果不在此范围调用DefaultHandler;如果是的话就调用GetDynaMethod从VCL组件中根据消息ID在动态方法表格中搜寻。如果找到能够处理消息的VCL事件处理函数就跳到此事件处理函数执行,否则就调用DefaultHandler虚拟方法来处理尚未分派的消息。
转载于:https://www.cnblogs.com/sideandside/archive/2007/05/09/740488.html