【发布时间】:2012-10-19 23:58:42
【问题描述】:
我正在开发一个包含数百个表单和一个包含 2,000 多个主题的相应帮助文件的应用程序。我有一个特定的表单,我正在分配一个上下文 ID,但是当我按“F1”时,帮助文件会在其默认页面上打开(这意味着未找到传递给它的 ID)。我需要找出传递给帮助文件的 ID 以进一步调试为什么它没有提出正确的主题。我如何找到这个号码?
【问题讨论】:
标签: delphi delphi-xe2 helpfile helpcontext
我正在开发一个包含数百个表单和一个包含 2,000 多个主题的相应帮助文件的应用程序。我有一个特定的表单,我正在分配一个上下文 ID,但是当我按“F1”时,帮助文件会在其默认页面上打开(这意味着未找到传递给它的 ID)。我需要找出传递给帮助文件的 ID 以进一步调试为什么它没有提出正确的主题。我如何找到这个号码?
【问题讨论】:
标签: delphi delphi-xe2 helpfile helpcontext
我在写这个问题时发现了解决方案,所以我正在回答这个问题问答风格......
Application 组件有一个事件OnHelp,当打开帮助文件时会触发该事件。为这个事件分配一个处理函数,然后读取Data参数来获取这个上下文ID。
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHelp:= AppHelp;
end;
function TForm1.AppHelp(Command: Word; Data: THelpEventData; var CallHelp: Boolean): Boolean;
begin
ShowMessage(IntToStr(Data));
end;
另外,您可以将CallHelp 参数更改为False,以使您的应用程序在帮助文件打开之前取消对它的调用。
【讨论】: