views:

303

answers:

1

Hi,

I have a legacy 32-bit application written in Borland's C++ Builder. I need to show specific pages from within a HtmlHelp file programmatically. Until now I've been doing this via HtmlHelp.ocx, but this does not work on x64 versions of Windows Vista / Windows7 as described in this thread.

I can't compile the application as 64-bit executable. Therefore the only workaround I have found so far is to create a 32-bit component implementing a COM object which loads and calls into the 32-bit DLL, and exposes the 32-bit DLL interface as a COM interface.

That sounds far too complicated just to display a chml file with a specific topic. There must be something else. But what is it?

A: 

Isn't this possible via the htmlhelp api ? (htmlhelp.h in the MS sdk?)

Specifically htmlhelpA function with HH_DISPLAY_TOPIC

Some people prefered going via the .OCX in the past because it was more reliable on IIRC w9x, but I assume that is not a problem in a 64-bit application.

It could be that these functions also list to some ocx/dll not there in 64-bit land, but it is worth a try. I can't easily check this.

Marco van de Voort
It's not a 64-bit application. It's a legacy 32-bit application that is still supposed to run on Win9x
Adrian Grigore
You're tying yourself into knots in order to support an OS that its manufacturer has not supported for many years. It's easier by far to just let it go and use the htmlhelp API which *is* there. Alternatively, explain to your boss that it's impossible to support any modern computer (such as the ones that his customers will be buying these days) because it's vital to keep everything working on crappy old dumpster-bait.
Donal Fellows