1

Lazarus アプリケーションにヘルプを追加しようとしています。クロスプラットフォームの利用を支援するために、CHM ヘルプではなく WebHelp を使用しています。

WebHelp は基本的に、フレームセット内で 1 組の html ページを使用します。左側にインデックス、右側に関連するトピックです。Web ブラウザーの特定のページでヘルプ システムを開くには、次のように呼び出します。

file:///path_to_help_files/index.htm#specific.htm

http://wiki.freepascal.org/Add_Help_to_Your_Applicationの説明に従って、Lazarus フォームには THTMLHelpDatabase コンポーネントと THTMLBrowserHelpViewer コンポーネントがあります。

個々のコンポーネントの HelpType は htKeyword に設定され、HelpKeyword は HTML/index.htm または HTML/index.htm#something.htm に設定されます。

何を入力しても、ヘルプ ファイルはデフォルト ページ (つまり、index.htm) でのみ開かれます。

ヘルプ ページを特定のページで開く方法について、何か考えがある人はいますか?

[HTML/something.htm の HelpKeyword を指定することはできません。トピック インデックスが省略されるからです。実際には、フレームセットを表示するには、index.htm にアクセスする必要があります。]

4

1 に答える 1

0

私は1つの解決策を見つけましたが、それは少し不格好なので、誰かがより良いアイデアを持っているなら、私はそれを聞きたいです。

基本的に、次のようなsomething.htmlのリダイレクトを作成しました。

<!doctype html>
<html>
  <head>
    <title>Something</title>
    <meta http-equiv="REFRESH" content="0;url=index.htm#something.htm">
  </head>
  <body>
    Redirect to index.html
  </body>
</html>

次に、関連するLazarusコントロールをHelpKeywordのHTML / something.htmlにポイントして、ヘルプが呼び出されたときに正しいURLにリダイレクトされるようにします。(はい、リダイレクトには.html拡張子を使用していますが、実際のファイルには.htm拡張子が付いています-ヘルプオーサリングアプリケーションによって強制されます)。

これについての本当の面倒は、Lazarusアプリケーションから直接アクセスしたいヘルプシステムのすべてのトピックのリダイレクトファイルを持っている必要があるということです。

于 2012-12-11T08:13:57.483 に答える