Simptomi
Apsveriet šādu scenāriju Microsoft Dynamics SL 7.0 1. līdzekļu pakotnē (FP1). Varat izveidot lietojumprogrammu, izmantojot programmatūras izstrādes komplektu (SDK), un pēc tam pievienot VBA pielāgojumu ar kodu. Startējot lietojumprogrammu, tiek rādīts šāds kļūdas ziņojums:
"Microsoft Windows
<ApplicationName>. .. has stopped working" (Apturēta darbojas)
Kur <ApplicationName> ir tās lietojumprogrammas nosaukums, ko izveidojāt Microsoft Dynamics SL 7.0 līdzekļu pakotnei 1 (FP1).
Cēlonis
Lietojumprogramma, kas izmanto komponentus, kas iebūvēti ar ATL versiju 7.1 vai vecāku versiju, tiek veidota ar slēdzi /NXCOMPAT (http://msdn2.microsoft.com/en-us/library/ms235442.aspx) vai citādi OS apstrādā kā "Nav saderīgs ar eXecute". Instalējot Visual Studio 2008, vēlāk var rasties ar VS 2008 vai VS 2005 veidotas programmas, lai pēc noklusējuma iespējotu NX saderību. Šī problēma tiks novērsta arī tad, ja sistēmas DEP politika ir iestatīta uz AlwaysOn, lietojumprogrammas, kas ietver vecāku cenkēšanas kodu (ko izmanto atmiņas adrešu (rādītāju) tulkošanai starp 16 bitu un 32 bitu kodu).
Risinājums
Izveidojiet Project ar iestatījumu pēc būvējuma notikumiem, lai noņemtu slēdzi /NXCOMPAT, kā tas ir norādīts šajā Visual Studio 2008:
1) Atveriet SDK 7.0 projektu ar Visual Studio 2008.
2) Noklikšķiniet ar peles labo pogu un atlasiet 3. Rekvizītus. Atlasiet cilni Kompilēšana 4) Noklikšķiniet uz pogas "Būvējuma notikumi" 5 apakšdaļā. Pievienojiet tālāk norādīto notikumu "Pēc būvējuma" zvana
"$(DevEnvDir)..\tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO "$(TargetPath)"
6) Saglabājiet un izveidojiet projektu
Papildinformācija
Papildinformāciju http://support.microsoft.com/kb/948468 meklējiet papildinformācijā.