我已经为Application.OnHelp分配了一个事件处理程序,但它没有被调用。我已经阅读了一些关于类似问题的其他主题,但其中很多都是针对Delphi 7或Delphi 2010的。
我尝试过使用D6OnHelpFix,但这只会改变问题,而不是解决它们。
在TApplication.DoOnHelp(在Forms中)结束时,FOnHelp的调用在AppEvnts中的TMultiCaster.DoHelp内总是失败。也就是说,DoHelp例程循环但无法实际调用我的事件处理程序。
答案 0 :(得分:3)
听起来您在代码中使用了TApplicationEvents
个对象。在这种情况下,您需要将事件处理程序附加到OnHelp
对象的TApplicationEvents
事件,而不是OnHelp
事件TApplication
。
原因是TApplicationEvents
用自己的处理程序替换附加到TApplication
的事件来执行多播调度。