質問が示唆するように、Delphi 2010 でビルドした後に完全に正常に実行できるアプリがありますが、Delphi XE でコンパイルするとエラーが発生します。
プロジェクト xyz.exe で例外クラス EOSError が発生し、メッセージ「システム エラー。コード 1158。現在のプロセスは、ウィンドウ マネージャ オブジェクトのハンドルのシステム許容量をすべて使用しました。
エラーは SQL クエリから大量のデータを受け取った後に発生しますが、XE でビルドした後にのみクラッシュするのは奇妙に思えます。私は 2010 環境で FastMM を問題なく実行しましたが、ビルド サーバーで実行するコンパイラ ライセンスしか持っていないため、残念ながら XE では実行できません。
PERFMON で使用されているハンドルの数も確認しましたが、2010 バージョンは XE バージョンよりも多くのハンドルを問題なく使用しています。
何か案は?