在调查一些在 Windows 2008 终端服务器上运行 Delphi 7 应用程序的用户报告的外部异常 C0000006 错误时,我已经发现了几个关于此问题和相关问题的问题。我想知道是否有人有这些设置的明确列表,这些设置适用于在终端服务器上运行的标准 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}