Докато проучвах външни изключения C0000006 грешки, докладвани от някои потребители, работещи с приложение Delphi 7 на терминален сървър на Windows 2008, вече открих няколко въпроса относно този и свързани проблеми. Чудя се дали някой има окончателен списък с тези настройки, които биха били подходящи за стандартно приложение за база данни Delphi 7, работещо на терминален сървър.
Въпросите, които разгледах, включват:
- Външно изключение C0000006
- Delphi - грешки във формат на невалиден поток при изпълнение
- Има ли рискове, свързани с IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP или IMAGE_FILE_NET_RUN_FROM_SWAP?
- Delphi TOpenDialog увисва в Windows 2008, когато се изпълнява като приложение за отдалечен работен плот
- Delphi 2007: Как да настроя TSAWARE?
- Как мога да принудя Delphi 7 да зареди целия изпълним файл?
Досега след като ги прочетох, мисля, че трябва да добавя следното към .dpr файла:
const
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000;
// Following are already defined in D7's Windows.pas
IMAGE_FILE_RELOCS_STRIPPED = $0001;
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = $0400;
IMAGE_FILE_NET_RUN_FROM_SWAP = $0800;
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED
or IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
or IMAGE_FILE_NET_RUN_FROM_SWAP}
Редактиране: Премахването на секцията за преместване вероятно не е необходимо, така че ето преработената версия:
const
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000;
// Following are already defined in D7's Windows.pas
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = $0400;
IMAGE_FILE_NET_RUN_FROM_SWAP = $0800;
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
or IMAGE_FILE_NET_RUN_FROM_SWAP}