我正在开发一个包含数百个表单的应用程序和一个包含2,000多个主题的相应帮助文件。我有一个特定的表单,我正在分配一个上下文ID,但是当我按“F1”时,帮助文件在其默认页面上打开(这意味着找不到传递给它的ID)。我需要找出传递给帮助文件的ID,以进一步调试为什么它没有提出正确的主题。我如何找到这个号码?
答案 0 :(得分:4)
我在写这个问题时发现了解决方案,所以我回答了这个问题Q& A style ......
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
,以使应用程序在打开之前取消对帮助文件的调用。