Symptomy
Uwzględnij następujący scenariusz w dodatku Microsoft Dynamics SL 7,0 Feature Pack 1 (FP1). Możesz utworzyć aplikację za pomocą zestawu Software Development Kit (SDK), a następnie dodać do niego dostosowania kodu VBA. Po uruchomieniu aplikacji jest wyświetlany następujący komunikat o błędzie:
"Microsoft Windows
<ApplicationName>. .. przestał działać "
Gdzie aplikacja <ApplicationName> jest nazwą aplikacji utworzonej dla dodatku Microsoft Dynamics SL 7,0 Feature Pack 1 (FP1).
Przyczyna
Aplikacja używająca składników utworzonych za pomocą biblioteki ATL w wersji 7,1 lub wcześniejszej jest oparta na przełączniku /NXCOMPAT (http://msdn2.Microsoft.com/en-us/library/ms235442.aspx) lub w inny sposób traktowana przez system operacyjny jako "nie wykonuj zgodności". Zainstalowanie programu Visual Studio 2008 może spowodować, że programy zbudowane od VS 2008 lub VS 2005 są domyślnie włączone. Ponadto, jeśli zasady funkcji DEP dla systemu są skonfigurowane jako włączone, aplikacje, które zawierają starszy kod thunking (używane do translacji adresów pamięci (wskaźników) między 16-bitowym a 32-bitowym kodem), będą miały ten problem.
Rozwiązanie
Utwórz projekt z ustawieniem w obszarze zdarzenia po kompilacji, aby usunąć przełącznik/NXCOMPAT w następujący sposób w programie Visual Studio 2008:
1) Otwórz projekt zestawu SDK 7,0 za pomocą programu Visual Studio 2008,2, kliknij prawym przyciskiem myszy i wybierz pozycję properties3), wybierz pozycję kompilacja tab4owa), a następnie kliknij przycisk "Konstruuj zdarzenia" na bottom5) Dodaj następujące elementy do pola "post-build" eventscall "$ (DevEnvDir)... \tools\vsvars32.bat "EDITBIN. exe/NXCOMPAT: Brak" $ (TargetPath) "6) zapisywanie i budowanie projektu
Więcej informacji
Aby uzyskać więcej informacji, zobacz http://support.Microsoft.com/kb/948468 .