I'm talking about this
With this tool you can apparently have RH run your application and enjoy a more dynamic context mapping experience by accessing a dialog box directly in the app, pressing F1 and then mapping it within RH.
This is something we'd LOVE to use, but frustratingly so, for multiple versions, it never works.
RH 2015, latest patch
Windows 64-bit Computer
Our product we support is a C++ app
The topic "Dynamic editing of context-senstive topics" in RH's own help file is where this is discussed.
Under "Usage Scenarios", it says:
"Dynamic context-sensitive mapping of dialog boxes and topics eliminates the need for technical authors to manually keep track of map IDs. Instead, technical authors can open the application and associate the relevant Help topic dynamically with a dialog box."
The topic, "Map an application dialog box with a topic" explains how to do this:
1) Open the Help project for the application in RoboHelp.
2) Click Tools > CSH > Open CSH Help.
3) Browse and select the executable file (.exe) for the application. Click Open.
4) Once the application has launched, browse to an application dialog box with context-sensitive Help mapping. Press F1 or click the Help button.
Once the application has launched, browse to an application dialog box with context-sensitive Help mapping. Press F1 or click the Help button.
5) In the CSH Options dialog box in RoboHelp, select a map file from the Project Map File pop-up menu.
NOTE: The CSH Options dialog box appears only if you launched the application from within RoboHelp using Tools > CSH > Open CSH Help.
But for me it never works. I can get it to run the application, but nothing opens up in RoboHelp when I press F1, even though F1 clearly works and navigates to topics appropriately in our help.
The help doesn't give a lot of info on what to do to get this setup and working properly. Ideas?
By chance did you have the developers re-compile the C++ application with the RoboHelp API before testing it within RoboHelp?
Here is a relevant section of the help discussing this:
Program Help for Visual C++ applications
This information is for developers connecting context-sensitive Help topics to C++ applications.
1) Open the project in the C++ IDE.
2) Add RoboHelp_CSH.cpp and RoboHelp_CSH.h to the project.
3) Link the wininet.lib and hhctrl.lib libraries to the application. Look for the hhctrl.lib library in
the CSH API subfolder of the installation folder.
4) If you are using Microsoft Visual C++ with MFC, set the RoboHelp_CSH.cpp file so that it
doesn’t use precompiled headers.
Let us know if this helps.
Adobe Certified RoboHelp and Captivate Instructor
Hi John. Thanks for the response.
No, we haven't. I guess I was just hoping it would work out of the box.
I remember that we did try to get this working back in RH 9 a couple of years back, and our devs couldn't figure it out; either that, or it simply didn't work back then (one of my colleagues was working with them so I was getting the info second hand).
I'm still curious though if anyone been able to get this to work with a C++ app in RH 2015, even after following the instructions you provided?
Hi John (or any Adobe devs who may follow the forums),
Further update on this. I zipped up and sent our developer who is most familiar with working with the context mapping help call the items in the "win" directory:
F:\Program Files\Adobe\Adobe RoboHelp 2015\CSH API\C++\win
"I added the files they gave you but they would not compile in x64. I probably could have built (with struggles) in win32 but since we are moving to x64 I did not go further. There were a few undefines so maybe they are using older MS methods no longer supported?
Do you have a newer copy of RoboHelp_CSH.cpp/.h?
I am also looking for hhctrl.lib. Doing a google search for it yields that it may or may not be obsolete. Depends on who is answering. Or maybe you have a copy of it – but would need to be the x64 version."
So it sounds like we need 64-bit support for the above mentioned files. Where can we get those files?
Well, I just finished a chat with technical support and apparently this functionality only works with 32-bit applications.
Maharana: RoboHelp itself is a 32 bit application. There is no component in it that can have a 64 bit output.
Jared Hess: So, are you saying that Tools | CSH | Open CSH Help in RH will not function with our x64 bit product?
Maharana: No. Its a 32 bit application.
That's frustrating. Nowhere that I could find did Adobe's RH's documentation in 2015 say this feature only supported 32-bit apps. I wouldn't have spent time on this had I known.
I filed a request on the wishlist site (https://bugbase.adobe.com/index.cfm?event=newFeature ) to get it added (Feature 4180039).
Our developer wanted to mention that we are using Visual Studio 2012 and 2015, and that some of the methods RH is using seemed to be deprecated in the newer VS versions.
RH also fails to include all the files they mention in their help topic, such as this one:
Did you ever get this to work? I'm RH 2017 and get the same - no Option dialog box opens when I open the software via Open CSH Help tool.
I don't think it works at all, although I can't remember if my team tested it in RH 2017 or not. I do think there's something fundamentally broken with this proposed functionality. Maybe they'll fix it / udpate it in their new version (2019).
Thanks! I couldn't get it to work either. The most I got was the editable files were opened in RoboHelp. If I was on a particular screen in the software and pressed F1 - the editable page would open in RoboHelp, along with any linked pages. But nothing to let me select a Map ID to correspond to the screen in the software.
The developer ended up allowing me to see IDs in developer/QA mode.