我一直在尝试将大型WinHelp项目转换为HtmlHelp,以便与我的MFC应用程序一起使用。
我的工作主要是工作;但是,我发现在我的应用程序中调用许多上下文的帮助会产生完全无用的错误消息。
无法启动帮助。
看来,如果我将相应的条目添加到[ALIAS]
部分,那么它可以正常工作。
[ALIAS]
HID_FILE_OPEN=Html\HID_FILE_OPEN.htm
我的问题是,我真的需要为每个主题做这个吗?使用WinHelp,我必须添加到[ALIAS]
部分的唯一条目是那些我想成为别人别名的主题。
HTML帮助是否必须知道HID_FILE_OPEN
对应于帮助文件Html\HID_FILE_OPEN.htm
而没有我为每个主题明确输入它?
答案 0 :(得分:1)
简短的故事 - 您必须清理映射数据文件以获取上下文相关的帮助。请根据您的需求和环境测试以下信息。
两个文件的目的,例如 alias.h 和 map.h 是为了简化开发人员和帮助作者之间的协调。映射文件将ID链接到地图编号 - 通常这可以由开发人员轻松创建并传递给帮助作者。然后,帮助作者创建一个别名文件,将ID链接到主题名称。这是拉尔夫沃尔登(前微软)多年前(几十年前)背后的想法。
您可以在Creating Context-Sensitive Help for Applications找到更多信息。
您知道 - 将WinHelp转换为HTMLHelp非常耗时。迁移上下文ID是有问题的。我实际上没有将旧的MFC或VB项目与WinHelp连接进行测试。
可能要使用CHM文件的主页,例如welcome.htm作为所有上下文ID的一个目标,在 alias.h 和 map.h 中以正确的方式使用它。
但是,我记得HHPmod tool。我将其与我的教程Converting WinHelp (HLP) to HTMLHelp (CHM)相关联。
这是Sid Penstone编写的一个工具,用于帮助将WinHelp项目转换为HTMLHelp项目。他使用了HTMLHelp Workshop中提供的自动转换功能,但当他编辑新的HTML项目以完成转换未完成的任务时,出现了一些问题:
请查看下载部分中的Notes on “Fixing Up” HTML Help Created from WinHelp Projects。向下滚动到例如手动重写HTML项目中的地图和别名数据。