При исследовании ошибок внешнего исключения 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}