我正在为我的Lazarus应用程序添加帮助。我使用WebHelp而不是CHM帮助来帮助跨平台利用。
WebHelp实际上在框架集中使用了一对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 #what.htm
无论我输入什么,帮助文件只在默认页面打开(即index.htm)。
有没有人对如何在特定页面上打开帮助页面有任何想法?
[我无法指定HTML / something.htm的HelpKeyword,因为这会省略主题索引。实际上,我必须通过index.htm来显示框架集。]
答案 0 :(得分:0)
我找到了一个解决方案,但它有点笨拙,所以如果有人有更好的想法,我想听听它。
基本上,我已经为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应用程序访问。