2

我正在开发一个包含数百个表单和一个包含 2,000 多个主题的相应帮助文件的应用程序。我有一个特殊的表单,我正在分配一个上下文 ID,但是当我按下“F1”时,帮助文件会在其默认页面上打开(这意味着未找到传递给它的 ID)。我需要找出传递给帮助文件的 ID 以进一步调试为什么它没有提出正确的主题。我如何找到这个号码?

4

1 回答 1

4

我在写这个问题时发现了解决方案,所以我正在回答这个问题问答风格......

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以使您的应用程序在打开之前取消对帮助文件的调用。

于 2012-10-30T15:35:32.613 回答