Question

Using keyhelp.ocx to display popup HtmlHelp in a modern Visual Studio C++ application fails.

I get a COM exception with no sensible error code. Looking at the debug output, there seems to be an Access Violation behind the scenes.

Was it helpful?

Solution

Your executable is build with Data Execution Prevention enabled, via /NXCOMPAT. That's the default in Visual Studio.

keyhelp.ocx is built using ATL7, which is incompatible with DEP - see http://support.microsoft.com/kb/948468

You need to disable DEP (/NXCOMPAT:NO) for your executable or find an alternative to keyhelp.ocx (I don't know of one).

(Note that's it's possible to enforce DEP system-wide - your code will still fail on such machines.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top