C ++ Builder和chm帮助文件

时间:2013-04-23 11:18:06

标签: delphi c++builder vcl chm

我正在尝试将CHM帮助文件实现到我用C ++ Builder编写的应用程序中,但我总是“没有安装上下文相关的帮助”。

我添加了这些内容:

#include "HtmlHelpViewer.hpp"

OnCreate ..(Form1)

Application->HelpFile = ExtractFilePath(Application->ExeName) + "myfile.chm";

我通过对象检查器设置了HelpContext,并尝试手动调用

Application->HelpContext(170);

但是,它不起作用。怎么办?

1 个答案:

答案 0 :(得分:4)

您需要强制链接器包含代码。仅包含头文件是不够的。

尝试将此添加到您的代码中:

#include "HTMLHelpViewer.hpp"
#pragma package(smart_init)
#pragma link "HTMLHelpViewer"

我假设你不需要添加Vcl单位范围名称,因为你没有在问题的代码中这样做。但如果您确实需要这样做,代码将如下所示:

#include "Vcl.HTMLHelpViewer.hpp"
#pragma package(smart_init)
#pragma link "Vcl.HTMLHelpViewer"

根据您的评论以及此Embarcadero forum thread判断,我怀疑您使用的是需要单位范围名称的版本。您可能已指定单位范围别名,这意味着您可以在标题文件#include中省略单位范围名称。但似乎你不能在#pragma link指令中省略单位范围名称。