Delphi C++;生成器和chm帮助文件 我试图在C++的Builder中实现我的应用程序中的CHM帮助文件,但是我总是得到“没有上下文敏感的帮助安装”。

Delphi C++;生成器和chm帮助文件 我试图在C++的Builder中实现我的应用程序中的CHM帮助文件,但是我总是得到“没有上下文敏感的帮助安装”。,delphi,c++builder,vcl,chm,Delphi,C++builder,Vcl,Chm,我添加了以下几行: #include "HtmlHelpViewer.hpp" 一旦创建。。(表格一) 我已经通过对象检查器设置了HelpContext,还尝试手动调用 Application->HelpContext(170); 但是,它不起作用。怎么办?您需要强制链接器包含代码。仅仅包含头文件是不够的 尝试将此添加到代码中: #include "HTMLHelpViewer.hpp" #pragma package(smart_init) #pragma link "HTMLHel

我添加了以下几行:

#include "HtmlHelpViewer.hpp"
一旦创建。。(表格一)

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

Application->HelpContext(170);

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

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

尝试将此添加到代码中:

#include "HTMLHelpViewer.hpp"
#pragma package(smart_init)
#pragma link "HTMLHelpViewer"
我假设您不需要添加
Vcl
单元范围名称,因为您在问题的代码中没有这样做。但如果您确实需要这样做,代码将如下所示:

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


根据您的评论和这一点判断,我怀疑您使用的版本需要单元作用域名称。您可能指定了单位范围别名,这意味着您可以在头文件
#include
中省略单位范围名称。但是在
#pragma link
指令中,您似乎不能忽略单元作用域名称。

我已经尝试过了,但是出现了一个链接器错误:“[ILINK32 error]error:D:\CPP PROJEKTI\HELP&APP\WIN32\DEBUG\HTMLHELPVIEWER.OBJ引用的未解析外部“HtmlHelpA”我怀疑解决方案是使用单元作用域名称。请尝试
#pragma链接“Vcl.HTMLHelpViewer”
。此Emba论坛帖子似乎与您报告的症状相同:
#include "Vcl.HTMLHelpViewer.hpp"
#pragma package(smart_init)
#pragma link "Vcl.HTMLHelpViewer"