Znaki
Upoštevajte ta scenarij v članku Paket funkcij 1 (FP1) za Microsoft Dynamics SL 7.0. Aplikacijo ustvarite z kompletom za razvoj programske opreme (SDK) in nato dodate prilagoditev VBA s kodo. Ko zaženete program, se prikaže to sporočilo o napaki:
»Microsoft Windows
<ApplicationName>. .. je prenehal delovati«
Kjer <ApplicationName> je ime programa, ki ste ga ustvarili za Microsoft Dynamics SL 7.0 Feature Pack 1 (FP1).
Razlog
Aplikacija, ki uporablja komponente, vgrajene v različico ATL 7.1 ali starejšo različico, je vgrajena s stikalom /NXCOMPAT (http://msdn2.microsoft.com/en-us/library/ms235442.aspx) ali pa os obravnava kot »Ni združljivo z eXecute«. Če namestite Visual Studio 2008, lahko programi, ki so bili zgrajeni s VS 2008 ali VS 2005, privzeto omogočijo združljivost SX. Če je pravilnik za preprečitev izvajanja podatkov za sistem nastavljen na AlwaysOn, bodo aplikacije, ki vključujejo starejšo torčno kodo (ki se uporablja za prevajanje naslovov pomnilnika (kazalcev) med 16- in 32-bitno kodo), videle to težavo.
Rešitev
Če želite Project /NXCOMPAT v programu Visual Studio 2008, ustvarite nastavitev z nastavitvijo v dogodkih po Visual Studio:
1) Odprite projekt SDK 7.0 s Visual Studio 2008.
2) Kliknite z desno tipko miške in izberite lastnosti 3) Izberite zavihek Prevajalnik 4) Kliknite gumb »Dogodki gradnje« na dnu 5) Klic dogodkov »$(DevEnvDir)..\tools\vsvars32.bat« dodajte v klic »Po gradici«
editbin.exe
/NXCOMPAT:NO "$(TargetPath)"
6) Shranite in zgradite projekt
Več informacij
Če želite več http://support.microsoft.com/kb/948468 informacij, glejte ta video.