Pergunta

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.

Foi útil?

Solução

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.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top