【问题标题】:Identify which help context ID is being sent to a help file?确定将哪个帮助上下文 ID 发送到帮助文件?
【发布时间】:2012-10-19 23:58:42
【问题描述】:

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

【问题讨论】:

    标签: delphi delphi-xe2 helpfile helpcontext


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多