Windows 2008 ターミナル サーバーで Delphi 7 アプリケーションを実行している一部のユーザーから報告された外部例外 C0000006 エラーを調査しているときに、この問題と関連する問題に関するいくつかの質問を見つけました。ターミナル サーバーで実行される標準の Delphi 7 データベース アプリケーションに適した、これらの設定の決定的なリストを誰かが持っているかどうか疑問に思っています。
私が見た質問は次のとおりです。
- 外部例外 C0000006
- Delphi - 実行時の無効なストリーム形式エラー
- IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP または IMAGE_FILE_NET_RUN_FROM_SWAP に関連するリスクはありますか?
- Windows 2008 でリモート デスクトップ アプリケーションとして実行すると、Delphi TOpenDialog がハングする
- 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}