2012-10-30 52 views
2

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

回答

4

我发现了解决方案,我写了这个问题,所以我回答这个询问Q &样式...

Application组件具有被触发时的帮助文件是要打开的事件OnHelp 。为此事件分配处理函数,然后读取Data参数以获取此上下文标识。

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,使您的应用程序取消呼叫帮助文件,打开之前它。