【问题标题】:Application.OnHelp not getting called in Delphi 2007在 Delphi 2007 中未调用 Application.OnHelp
【发布时间】:2014-05-08 20:34:07
【问题描述】:

我已为 Application.OnHelp 分配了一个事件处理程序,但它没有被调用。我已经阅读了一些关于类似问题的其他主题,但其中许多是针对 Delphi 7 或 Delphi 2010 的。

我曾尝试使用 D6OnHelpFix,但这只会改变问题,而不是解决问题。

在 TApplication.DoOnHelp 结束时(在 Forms 中),在 AppEvnts 中的 TMultiCaster.DoHelp 中调用 FOnHelp 总是失败。也就是说,DoHelp 例程循环,但未能真正调用我的事件处理程序。

【问题讨论】:

    标签: delphi delphi-2007


    【解决方案1】:

    听起来您在代码中使用了TApplicationEvents 对象。在这种情况下,您需要将事件处理程序附加到TApplicationEvents 对象的OnHelp 事件,而不是TApplicationOnHelp 事件。

    这样做的原因是TApplicationEvents 将附加到TApplication 的事件替换为它自己的处理程序以执行多播调度。

    【讨论】:

    • 原来有一个单元使用了 TApplicationEvents,但我没有意识到。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 2014-11-23
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多