4 Replies Latest reply on Aug 31, 2009 3:00 PM by TWigHelp

    Map ID


      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.

        • 1. Re: Map ID
          johndaigle Level 4

          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.



          John Daigle

          • 2. Re: Map ID
            TWigHelp Level 1

            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



            The developers are calling everything from the Main.


            BTW, my Main MapIDs work great.


            Thanks in advance for your help.


            Teresa Wigley


            • 3. Re: Map ID
              johndaigle Level 4

              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*



              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.



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



              Hope this helps


              John Daigle

              Adobe Certified RoboHelp and Captivate Instructor


              • 4. Re: Map ID
                TWigHelp Level 1



                Thanks for the quick response and info.  I did not use the Automap ID so I

                know that I do not have duplicate map IDs between the two projects.  When I

                do a hyper link between the two projects Robohelp loads the path.  The map

                IDs do not have a path because Robohelp help is thinking you are using the

                same project.


                I do use the BSSCdefaul.h for the Main and then assigned my own my IDs.

                However, for my How To project I used HowTo.h


                I will pass this info on to our developers and maybe they can figure out

                what is going on.


                I will let you know our solution.


                Thanks again,


                Teresa Wigley