Почему в моем приложении Visual Studio C++ происходит сбой keyhelp.ocx?
С помощью keyhelp.ocx
отобразить всплывающее окно HtmlHelp в современном приложении Visual Studio C++ не удается.
Я получаю исключение COM без разумного кода ошибки. Глядя на выходные данные отладки, кажется, что за кулисами происходит нарушение прав доступа.
1 ответ
Ваш исполняемый файл собран с включенной функцией предотвращения выполнения данных, через /NXCOMPAT
, Это по умолчанию в Visual Studio.
keyhelp.ocx
построен с использованием ATL7, который несовместим с DEP - см. http://support.microsoft.com/kb/948468
Вам нужно отключить DEP (/NXCOMPAT:NO
) для вашего исполняемого файла или найти альтернативу keyhelp.ocx
(Я не знаю ни одного).
(Обратите внимание, что можно применять DEP в масштабе всей системы - ваш код все равно не будет работать на таких машинах.)