One of the main problems that occured after introducing RH9 and moving our RH5 project (a merged project) to RH9 is the fact that our application cannot read the .chm files, e.g. there is no help available in our application. Not so good, isn't it?
An idea came to me that it could be the encoding (formerly windows-1252) is now UTF-8
for whatever reason. I don't know whether we actually enforced it or if it was a default choice when we imported the RH5 project.
Anyway, the current situation is a show stopper.
The .chm-file is in the same directory as the invoked application on the local drive, not a network drive.
Yes, I can open it by double-click and browse through the help.
The colleague just told me that the english help from some visual basic programs, where
no alias mapping (symbols to numbers) is being used, seems to work, but in cases where a
symbolic mapping to numbers is used, it dowsn't work.
Can you please explain the exact problem you are facing, is the CHM not opening fine or is the CSH API not working for your application.
The problem is that with my colleague no context help (F1) pops up. When I'm doing it with the same .CHM-file and same program version (our app), it works.
So it is most probably not an issue with mapping or API or some such.
The difference with him is that he is starting the app from a SUBST drive (not a network drive).
OTOH, when I do a SUBST and run the app and CHM from that drive, it also works.
I know there are some quirks to do with registry and Windows 7/64 to get CHM working from
network drives but I have no idea why that would not work from a SUBST drive.
Here is the diagnosis:
we are calling the help file via this call:
hwnd = HtmlHelp ( hWnd, help_name, HH_HELP_CONTEXT, (DWORD_PTR)help_id );
The help_id goes in and a Zero handle is returned in the error case.
A valid handle is returned in the functioning case, of course.
So it seems our generated Robohelp 9 chm files have a problem with the ID.
Is there a tool to analyze the chm-file?