Сообщение об ошибке "XXXXX.. перестал работать" при запуске приложения 7.0 SDK, которое содержит настройки VBA

Проблемы

Рассмотрим следующий сценарий в microsoft Dynamics SL 7.0 Feature Pack 1 (FP1).  Вы создаете приложение с помощью комплекта средств разработки программного обеспечения (SDK), а затем добавляете настройку VBA с кодом.  При запуске приложения вы получаете следующее сообщение об ошибке:

"Microsoft Windows

<ApplicationName>. .. перестала работать"

Здесь <ApplicationName> название приложения, созданного для Microsoft Dynamics SL 7.0 с пакетом обновления 1 (FP1).

Причина

Приложение, использующее компоненты, встроенные в ATL версии 7.1 или более ранней версии, встроено с переключателем /NXCOMPAT (http://msdn2.microsoft.com/en-us/library/ms235442.aspx) или иным образом интерменуется операционной системы как не совместимое с eXecute.  Установка Visual Studio 2008 может привести к тому, что программы, впоследствии встроенные в VS 2008 или VS 2005, по умолчанию будут работать с совместимостью NX.  Кроме того, если для политики DEP для системы установлено название AlwaysOn, эта проблема будет отобразиться в приложениях, включающих более старый код tkingking (который используется для перевода адресов памяти (указателей) между 16-битным и 32-битным кодами.

Решение

Создайте Project с помощью параметра в событиях post-build, чтобы удалить переключатель /NXCOMPAT в Visual Studio 2008:

1) Откройте проект SDK 7.0 в Visual Studio 2008.
2) Щелкните правой кнопкой мыши и выберите свойства 3) Выберите вкладку Компилятор 4) Нажмите кнопку "События сборки" в нижней части 5) Добавьте в события


"Post-build"
($(DevEnvDir)..\tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO "$(TargetPath)"

6) Сохраните и создайте проект

Дополнительная информация

Дополнительные сведения http://support.microsoft.com/kb/948468 в этой области.

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×