我已为 Application.OnHelp 分配了一个事件处理程序,但它没有被调用。我读过一些有关类似问题的其他帖子,但其中许多都是针对 Delphi 7 或 Delphi 2010 的。
我尝试过使用 D6OnHelpFix,但这只是改变问题,而不是解决问题。
在 TApplication.DoOnHelp(在表单中)末尾,AppEvnts 中的 TMultiCaster.DoHelp 内的 FOnHelp 调用始终失败。也就是说,DoHelp 例程循环但无法实际调用我的事件处理程序。
最佳答案
听起来您在代码中使用了 TApplicationEvents
对象。在这种情况下,您需要将事件处理程序附加到 TApplicationEvents
对象的 OnHelp
事件,而不是 TApplication< 的
。 OnHelp
事件
原因是 TApplicationEvents
用它自己的处理程序替换附加到 TApplication
的事件来执行多播调度。
关于delphi - 在 Delphi 2007 中未调用 Application.OnHelp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541720/