Copy link to clipboard
Copied
HI folks, I hope I'm on the verge of getting this CSH stuff down.
We create a .chm for our product. The product uses a HelpContext ID (usually the filename of an .htm file in the RH8 project) to state which topic in the .chm to call. The code then takes that HelpContext ID, appents an .htm extension, then looks to find that file in the .chm file.
This was working fine until we organized our .htm files into subfolders. That folder location is also stored in the .chm file, but the program is still looking in the "root" directory for the .htm file.
What I'm thinking (hoping) the solution is to generate a map .h file, using the filename as the topic ID, then compile the .chm as usual. The program then should simply pass the HelpContext ID (aka Topic ID, aka filename) but NOT append the .htm extension. The .chm would then take care of taking that ID, determining the correct file, and displaying it.
Is that it? Is there something else that the programmers have to do? Something else we doc folk have to do? Would the same process work for merged projects?
Any clarification would be appreciated.
Dan Roberts
Copy link to clipboard
Copied
Copy link to clipboard
Copied
HI, thanks for your response, but I'm still not clear on a couple of points.
I'm assuming that if I use the Edit > Map ID option, and assign topics to files, then I've done the work on my end?
And can the developer/code use the topic ID to call the help, or must they use the map number?
If they can use the topic ID, we're all good, and there's no development work to do.
If they have to use the map #, we've got a lot of rework to do, and little time to do it.
Sorry for being dense.
Dan
Copy link to clipboard
Copied
Hi Dan.
If you have assigned a mapid and alias, the developer would need to code the mapid (they sometimes call it a context id) into their code. However I believe it is possible for the developers to call a file name inside a CHM, although I have never done this. For example filename.chm\topicname.htm may work. The issue here is that the file name can never change or be moved or else the path is broken. This is why mapids are the better solution.
The RoboColum(n) | @robocolumn | Colum McAndrew |
Copy link to clipboard
Copied
Hi Colin,
That is exactly what is happening here. The code specifies the help for a window as "myWindowHelp" and then by other manipulations, is ultimately calling myHelp.chm\myWindowHelp.htm.
If I have set up a mapID as
#define myWindowHelp 666 myfolder\myOtherfolder\anotherfolder\myWindow.htm
And then generate my .chm project.....
Can the code for the help for the window still call "myWindowHelp" or must it call "666"?
Copy link to clipboard
Copied
If you are calling the help this way you are negating the need for a map / alias file.
The RoboColum(n) | @robocolumn | Colum McAndrew |