Delphi 确定要将哪个帮助上下文ID发送到帮助文件?

Delphi 确定要将哪个帮助上下文ID发送到帮助文件?,delphi,delphi-xe2,helpfile,helpcontext,Delphi,Delphi Xe2,Helpfile,Helpcontext,我正在开发一个包含数百个表单的应用程序和一个包含2000多个主题的相应帮助文件。我有一个特定的表单,我正在分配一个上下文ID,但当我按“F1”时,帮助文件会在其默认页面上打开(这意味着传递给它的ID找不到)。我需要找出传递给帮助文件的ID,以便进一步调试它为什么没有显示正确的主题。如何找到这个号码?我在写这个问题时发现了解决方案,所以我以问答方式回答这个问题 应用程序组件有一个事件OnHelp,在打开帮助文件时触发该事件。将处理程序函数分配给此事件,然后读取数据参数以获取此上下文ID proce

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

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

应用程序
组件有一个事件
OnHelp
,在打开帮助文件时触发该事件。将处理程序函数分配给此事件,然后读取
数据
参数以获取此上下文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
,使您的应用程序在帮助文件打开之前取消对它的调用。

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

应用程序
组件有一个事件
OnHelp
,在打开帮助文件时触发该事件。将处理程序函数分配给此事件,然后读取
数据
参数以获取此上下文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
,以使应用程序在帮助文件打开之前取消对其的调用