質問

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.

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top