• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

RoboHelp viewer

Explorer ,
Aug 22, 2012 Aug 22, 2012

Copy link to clipboard

Copied

Does anyone know what viewer WebHelp is displayed in when displayed from an applicaiton via a call to RH_ShowHelp?  We're using RoboHelp ver7.  Is it IE? or the MFC CHTMLView Class?

We've had an annoying bug for a number of years and are wondering if changing the viewer would help.  In the Index pane, if you type in the beginning of an index topic, it is supposed to scroll to the topic you've typed in.  It seems if you have a large number of index items, it doesn't scroll.  It seems to work if you run the help by itself in a browser, but not in the application.

Views

4.9K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 22, 2012 Aug 22, 2012

Copy link to clipboard

Copied

If you simply double click the start page, WebHelp opens in the default browswer on the user's PC. I thought that was the case with the method you are using but no doubt someone else can confirm that. What is puzzling me with your question is that you should be able to see what browser is being used, unless your developer's have made the window chromeless. Even then, they could undo that to find the answer.

As to the index issue, that was a problem several versions back. Try downloading the trial of RoboHelp 10 onto a non production machine. I think you will find it is OK now.


See www.grainge.org for RoboHelp and Authoring tips

@petergrainge

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Hmmm.  It was still in ver9.  I reported it when 7 was new!  This is the first acknowledgement that it was a real problem.  I will check ver10.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Robohelp 10 is worse than ver 7!!!  Not only does the index not scroll when you type in the box at the top, but clicking on a topic in the index gets you a 'This program cannot display the webpage' error.  Some of the 'text links' display a directory of the help folder.  Others seem to work, however. 

BTW, when you open a help message in C++ code with the RH_ShowHelp() function, it is displayed in a naked screen - just the help content - no hint of a browser.  Similar to what you get when you run a .hta program.  If you right-click in the display area of the window, you get the same menu you get in a browser.  But you get the same thing if you use the CHTMLView class to display an HTML page in an application.  When the help is displayed, there isn't an instance of a browser in the Task Manager.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

I think the problem is with your project in that case. I just tested a RoboHelp 9 project and it was scrolling down progressively as I typed into the index field.

Is this only a problem when the help is called from your app? I'm wondering if it works faster when you just open the help direct.


See www.grainge.org for RoboHelp and Authoring tips

@petergrainge

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Yes, it only happens when the help is run from within our application.  If we run it in a browser outside of the application, it behaves normally.  If you want to see it happen, you'll have to install our application.  You can download a demo of Right-Suite Universal 2012 at www.wrightsoft.com.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

What I wanted to establish was that if run in isolation the index is working correctly and you have confirmed it does.

That points to something in the call or something about the way the developers have set things up. Outside my area.


See www.grainge.org for RoboHelp and Authoring tips

@petergrainge

Help others by clicking Correct Answer if the question is answered. Found the answer elsewhere? Share it here. "Upvote" is for useful posts.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Yes, when run in isolation, the index works correctly.  I'm actually the developer that integrated into the application, too.  I just followed Robohelp's instructions in the help. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

LOL, so you are in the position to change it after all

I would expect the default API to just fire up IE, but hey, I’m not a programmer either. I’m just hoping an Adobe dev will chime in to shed some light on this.

Greet,

Willam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

hi,

Did you try running the CSH test tool provided with RoboHelp 10. Go to View>Pods>Toolbox

in the toolbox pod, double click on CSH Test icon, this will open the CSH Test tool. This tool allows to test CSH API behavior for all different type of outputs.

I generated webhelp output and used the CSH Test tool and tried typing in the index pane, and it was scrolling fine.

Note: You need to type the webhlep output file path in the offline textbox, and then you need to provide any map number, and click Show Help

Please update with your findings.

thanks

Praful

Adobe RoboHelp Team

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 24, 2012 Aug 24, 2012

Copy link to clipboard

Copied

It works fine in the CSH test tool.  It also works fine if I double click on the top-level .htm file.  It's just in the application that doesn't work.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 25, 2012 Aug 25, 2012

Copy link to clipboard

Copied

Good to know that it works fine with CSH Test Tool. CSH Test is a sample Application which uses RoboHelp CSH API.

you need to tell the developer in your team to do the following in your application

BOOL YourApplicationMainWnd::PreTranslateMessage(MSG* pMsg)

{

    RH_ProcessKeyStrokes(pMsg);

    return FALSE;

}

RH_ProcessKeyStrokes is a predefined function in RoboHelp_CSH,cpp file and handles the keyboard up/down and enter key messages.

Hope this will help.

thanks

Praful Jain

Adobe RoboHelp Team

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 27, 2012 Aug 27, 2012

Copy link to clipboard

Copied

I don't think that is the right code.  I looked at RH_ProcessKeyStrokes() and it doesn't call the base class PreTranslateMessage().  I think it should be more like:

BOOL YourApplicationMainWnd::PreTranslateMessage(MSG* pMsg)

{

     if (RH_ProcessKeyStrokes(pMsg) == 0)

          return CMDIFrameWnd::PreTranslateMessage(pMsg);

     else

          return TRUE;

}

However, when I include RoboHelp_CSH.cpp and RoboHelp_CSH.h in our project and add #include "stdafx.h" to RoboHelp_CSH.cpp (for the precompiled headers), I get a host of compile errors:

1>RoboHelp_CSH.cpp

1>c:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlbase.h(5934) : error C2259: 'ATL::CRegObject' : cannot instantiate abstract class

1>        due to following members:

1>        'HRESULT IUnknown::QueryInterface(const IID &,void **)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(116) : see declaration of 'IUnknown::QueryInterface'

1>        'ULONG IUnknown::AddRef(void)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(120) : see declaration of 'IUnknown::AddRef'

1>        'ULONG IUnknown::Release(void)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(122) : see declaration of 'IUnknown::Release'

1>c:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlbase.h(6017) : error C2259: 'ATL::CRegObject' : cannot instantiate abstract class

1>        due to following members:

1>        'HRESULT IUnknown::QueryInterface(const IID &,void **)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(116) : see declaration of 'IUnknown::QueryInterface'

1>        'ULONG IUnknown::AddRef(void)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(120) : see declaration of 'IUnknown::AddRef'

1>        'ULONG IUnknown::Release(void)' : is abstract

1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\unknwn.h(122) : see declaration of 'IUnknown::Release'

1>.\RoboHelp_CSH.cpp(424) : warning C4018: '<' : signed/unsigned mismatch

1>.\RoboHelp_CSH.cpp(503) : warning C4244: '=' : conversion from 'int' to 'INTERNET_PORT', possible loss of data

1>.\RoboHelp_CSH.cpp(732) : warning C4018: '<' : signed/unsigned mismatch

1>.\RoboHelp_CSH.cpp(759) : warning C4018: '<' : signed/unsigned mismatch

1>.\RoboHelp_CSH.cpp(854) : warning C4018: '<' : signed/unsigned mismatch

1>.\RoboHelp_CSH.cpp(1483) : error C2039: 'TranslateAcceleratorW' : is not a member of 'IOleInPlaceActiveObject'

1>        c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(2059) : see declaration of 'IOleInPlaceActiveObject'

The issue with the 'signed/unsigned mismatch' errors, is that _tcslen/strlen return a size_t result, which is an unsigned pointer and it is being compared to an int (signed).  The others I was hoping some one could explain to me.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 27, 2012 Aug 27, 2012

Copy link to clipboard

Copied

hi,

I have created a simple CSH Test Application which allows user to launch WebHelp output, you can download the application @ https://acrobat.com/#d=36fnEwVC-p61xE9D5w*ecg

Hope this helps, and yes it does not have any warnings.

thanks

Praful Jain

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 28, 2012 Aug 28, 2012

Copy link to clipboard

Copied

Is this a VS2010 solution file?  We use 2008.  It says it was created with a newer version.  Any chance you can convert it? 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Aug 28, 2012 Aug 28, 2012

Copy link to clipboard

Copied

hi,

I have created a CSH Test project to showcase how to use C++ CSH API in MFC application

VS 2008 project @ https://acrobat.com/#d=InIxx11ivlm9NXv2vOOuDA

VS2010 project @ https://acrobat.com/#d=36fnEwVC-p61xE9D5w*ecg

Try downloading this and let me know

thanks

Praful

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 31, 2012 Aug 31, 2012

Copy link to clipboard

Copied

Still no luck.

I downloaded the VS2008 project and it compiled and ran.  Doesn't explain why it doesn't work in my code.  I started over and discovered a few differences between ver 7 and ver 10:

1.  It is important to not use precompiled headers when compiling RoboHelp_CSH.cpp.  If you do, you will get more than EOF compiler errors.

2.  Add warning 4701 to the #pragma warning (disable ...) command at the top.  Otherwise you will get warnings (treated as errors) on line 3290, in ShowHelpTopic_Win32_IE() that a BSTR variable is potentially uninitialized.  This is an annoying warning that if you have:

BSTR bstr;

if (xxx)

     bstr = yyy;

else

     bstr = zzz;

you will get the warning.  Even though there isn't a possibility that bstr won't be initialized.  I don't understand why I don't get the warning in the sample project.

3.  There is a comment at the top of RoboHelp_CSH.cpp that tells you which libraries to link with.  These are different than in ver 7.  The help in Robohelp says that hhctrl.lib 'may' be in the CSH API folder.  It is not there.  A Google search found a message on this forum that said that the Robohelp help was 'seriously out of date', which is a sorry statement - the help in a help authoring tool is out of date.  The message said that linking with htmlhelp.lib and including htmlhelp.h does what hhctrl.lib used to do.

4. I noticed that the htmlhelp.lib on my computer was a different size than the one in the CSH API folder.  So, I used the one in the CSH API folder.  The htmlhelp.h files seemed to be the same.

So, I rebuilt my application with the new RoboHelp_CSH.cpp and .h and new libraries, rebuilt my help project with Robohelp 10 and tried it.  It silently does nothing when I try to display context-sensitive help.  So, I traced it in the debugger.  When I request context-sensitive help, it eventually gets to ShowHelpTopic_Win32_IE().  When it executes:

hr = s_pstBrowser->get_HWND((long*)&hWnd);

The if (SUCCEEDED(hr)) fails.  It looks like the window never gets set because of this.  I don't know what exactly is going on here.  Can anyone help out?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Sep 06, 2012 Sep 06, 2012

Copy link to clipboard

Copied

Wow.  I guess I stumped everyone.  No response?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Sep 27, 2012 Sep 27, 2012

Copy link to clipboard

Copied

Still no resolution to this.  It is preventing us from updating.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 27, 2012 Sep 27, 2012

Copy link to clipboard

Copied

Hi there

Yes, you "stumped everyone" because the overwhelming vast majority of folks hanging out here are not application developers as you seem to be. Most of us are simply RoboHelp users and we aren't skilled in creating applications.

I see you did have the ear of Praful (one of the actual RoboHelp development team members) so likely only Praful is the one that really has anything to offer here.

In reading through the thread, I note that it has been mentioned time and again that the fault doesn't appear to really be with RoboHelp, it totally appears to be with your code and how it's been implemented to call RoboHelp. As such, I'd be astounded to see anyone here be able to offer anything that will solve your issue. (other than Praful, that is)

Cheers... Rick

Helpful and Handy Links

RoboHelp Wish Form/Bug Reporting Form

Begin learning RoboHelp HTML 7, 8 or 9 within the day!

Adobe Certified RoboHelp HTML Training

SorcerStone Blog

RoboHelp eBooks

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Sep 27, 2012 Sep 27, 2012

Copy link to clipboard

Copied

There is code included with Robohelp - RoboHelp_CSH.cpp and RoboHelp_CSH.h - that does everything.  We just call it.  We didn't do any implementing - we used Robohelp's implementation.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Hi,

This suggests the problem is with your viewer. As Peter said, the default API (or at least the .js version) simply opens the help in a browser. If the help does not open in a browser, you are using a custom solution, such a loading the browser in the background and using it in your application. I’m sorry, but as Peter says, this is a problem with the software that your developers need to solve, nothing you or RoboHelp can do about it.

Greet,

Willam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2012 Aug 23, 2012

Copy link to clipboard

Copied

Hmmm.  Just re-opened the project in RH10.  It looked very different than before.  It looked more like ver7.  Re-compiled and now it behaves just like ver7 did.  Everything works except typing in the Index box.  There is reference in the RH help about linking with wininet.lib and hhctrl.lib.  wininet.lib is part of Visual Studio.  The RH help says that hhctrl.lib may be in the CSH API folder.  I don't see it, however.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jul 26, 2016 Jul 26, 2016

Copy link to clipboard

Copied

I downloaded and installed RoboHelp 2015.  I have context help working, but the Index is still an issue.  When I double click on the Start page and when I View generated help, go to the Index, and start typing a keyword, it syncs to the keyword list.  However, in the application we always display a help topic (#>id =xxx at the end of the URL).  When I display a help topic this way (via RH_ShowHelp() in RoboHelp_CSH.cpp), click 'Show', go to the Index and start typing a keyword, it doesn't sync to the keyword list.

Is there a way to emulate just opening the Start page?

I tried putting '#>cmd=idx' at the end of the URL to the Start page.  That brought up the Index, but it still didn't sync.

It appears that displaying the Start page from the .htm file (default help topic?) and displaying a specific topic or command (via RH_ShowHelp()) causes the index to behave differently.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 26, 2016 Jul 26, 2016

Copy link to clipboard

Copied

As Rick says, I don't think you're going to get much help on here except from Adobe staff developers. Most of us are using CSH launched in a browser; you seem to be trying to use the C++ CSH API (from what I can tell based on the file names) - what led you use that method vs. say, JavaScript, to launch the help?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
RoboHelp Documentation
Download Adobe RoboHelp