我正在尝试将CHM帮助文件实现到我用C ++ Builder编写的应用程序中,但我总是“没有安装上下文相关的帮助”。
我添加了这些内容:
#include "HtmlHelpViewer.hpp"
OnCreate ..(Form1)
Application->HelpFile = ExtractFilePath(Application->ExeName) + "myfile.chm";
我通过对象检查器设置了HelpContext,并尝试手动调用
Application->HelpContext(170);
但是,它不起作用。怎么办?
答案 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
指令中省略单位范围名称。