Skip to main content
August 26, 2009
Question

Map ID

  • August 26, 2009
  • 1 reply
  • 1324 views

I have two html.chm's and I need to be able to link the Map IDs from one to another.  For examle, one chm is the main help for our software program and the other .chm is for how to files.  In the software program we have two buttons one for the main documents and one for the How To documents. Right now I can merge the TOC, index, and glossary of the two .chm's, but when I try to import the Map ID the topics are blank and they will not connect/link to the main.

Please advise.

    This topic has been closed for replies.

    1 reply

    johndaigle
    Legend
    August 27, 2009

    Hi, TWigHelp.

    Not quite sure I have the whole picture. When you say "import the Map ID" I gather you or your developer has sent you a map file (e.g., something.h) and you have imported the map file into your project. Then presumably you have selected that map file in the Edit Map IDs dialog and assigned the map IDs to your respective topics?

    Further, when you say, "the topics are blank and they will not connect/link to the main" do you mean that the developer has created a call using the Microsoft HTML Help API and is calling a topic from one chm to another?  Not sure where the "blank" is happening. What I'm confused about is whether the blank topic is appearing as a user clicks a link from one merged chm to another, or a developer is calling a topic from the application itself to the topic? Also, please let me know what version of RoboHelp you are using and perhaps the developer's language (C++, VB, etc.) being used.

    If you could clarify, I'll take another crack at it.

    Thanks

    John Daigle

    John DaigleAdobe Certified RoboHelp and Captivate InstructorNewport, Oregon
    August 27, 2009

    The developers are using Delphi and I am using Robohelp 7. I don't think I

    was clear on what we have going on. I have two separate Robohelp projects.

    One is called Main and the other is called How To. I have Map IDs for the

    Main as well as for the How To. I merge my How To project into the Main

    project. Robohelp merges the TOC, Index, and glossary perfectly. However, I

    cannot merge the Map IDs from the How To project into the Main project.

    There is an option to import Map IDs, however when I use this feature the

    topic is blank when I open the Map ID window (*.h). The only thing displayed

    is the Map ID number and Robohelp wants me to assign the MapID. However, I

    cannot change to a different project so I cannot assign the topic to the Map

    ID.

    The developers are calling everything from the Main.

    BTW, my Main MapIDs work great.

    Thanks in advance for your help.

    Teresa Wigley

    702-967-8987

    johndaigle
    Legend
    August 31, 2009

    Hi, Teresa.

    This is a bit of a guess, but I'm thinking what has happened is that you used the Auto-map button to assign IDs in *both* projects. Here's the rub. Each project typically starts autonumbering incrementally with 1,2,3, etc. Unless you do the proper preparation, you will end up with the dreaded duplicate Map ID string or # syndrome .

    You can verify this from RoboHelp's menu by clicking Tool > Reports > Duplicate Map IDs. The report will alert you to any map #s or duplicate map strings (the IDs). The point is that you cannot have duplicates for either numbers or strings.

    To avoid this in the first place, it is best practice to create a new map file for each project with a distinct name (e.g., HowTo.h and Main.h instead of accepting the "Project Map File" which is BSSCdefault.h.) Then, before assigning map IDs in the Edit Map IDs dialog box, click the Options button and choose a starting number that will increment beginning with a number that is comfortably beyond the highest number in the other project map files. So Main might start with 1000 and How To might start with 2000. So, throughout your merged system, it doesn't matter what the IDs are, as long as they are *unique*

    StartNumberingWith.jpg

    So, if this is your situation and you have a ton of IDs/#s to fix, what to do?

    While you can edit map numbers in the Edit Map IDs dialog, it might be easier to open the map file in Notepad (after backing up of course) and add a character to the string and manually increment the number. Just a thought.

    So this:

    #define Accounting_Overview   1
    #define Accounts_Payable     2

    Becomes this:

    #define Accounting_OverviewX    1001
    #define Accounts_PayableX    1002

    No more duplicates!

    You reported your Main project seems to be working just fine so you are obviously connecting the dots and understand the assigning process. Hooray

    We used to say context sensitive help is the hardest thing a help author will ever do (but that was before the web!)

    Now hopefully that will solve the problem - end of story. However, you mentioned your developers are using Delphi. Because there are a few quirks when using Delphi, you might refer your developers to Rob Chandler's Helpware website to learn more about calling topics from the application.

    http://www.helpware.net/delphi/delphi_and_hh.htm

    Also, because you are in a merged .CHM system, your developers will also want to refer to this URL on the same website:

    http://www.helpware.net/htmlhelp/how_to_merge_ctx2.htm

    Hope this helps

    John Daigle

    Adobe Certified RoboHelp and Captivate Instructor

    http://www.showmethedemo.com

    John DaigleAdobe Certified RoboHelp and Captivate InstructorNewport, Oregon