I have assigned an event handler to Application.OnHelp, but it is not getting called. I have read some other threads about similar problems, but many of them are for Delphi 7 or Delphi 2010.

I have tried using D6OnHelpFix, but that simply changes the problems, rather than resolving them.

At the end of TApplication.DoOnHelp (in Forms) the invocation of FOnHelp always fails inside TMultiCaster.DoHelp in AppEvnts. That is, the DoHelp routine loops but fails to actually call my event handler.

有帮助吗?

解决方案

It sounds like you have used TApplicationEvents objects in your code. In which case you need to attach your event handler to the OnHelp event of a TApplicationEvents object rather then the OnHelp event of TApplication.

The reason for this is that TApplicationEvents replaces the events attached to TApplication with its own handlers to perform the multi-cast dispatch.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top