TBitmap32 をストリームに保存するときに、Graphics ユニットの GDIError メソッドによって EOutofResources エラーが発生することがあるアプリケーションを作成しました。
私の知る限り、gdi の制限またはヒープの制限に起因する可能性があります。このプロセスには、デフォルトで 10000 ハンドルの制限があることを知っています。したがって、タスク マネージャーによると、私のアプリケーションは 620 しか報告しません。
これを報告するデスクトップ ヒープ情報モニター ツールをダウンロードして実行しました。
Desktop Heap Information Monitor Tool (Version 8.1.2925.0)
Copyright (c) Microsoft Corporation. All rights reserved.
-------------------------------------------------------------
Session ID: 0 Total Desktop: ( 7360 KB - 11 desktops)
WinStation\Desktop Heap Size(KB) Used Rate(%)
-------------------------------------------------------------
WinSta0\Default 3072 44.5
WinSta0\Disconnect 64 4.5
WinSta0\Winlogon 128 10.2
Service-0x0-3e7$\Default 512 29.1
Service-0x0-3e4$\Default 512 6.8
Service-0x0-3e5$\Default 512 6.8
SAWinSta\SADesktop 512 0.5
__X78B95_89_IW\__A8D9S1_42_ID 512 0.5
Service-0x0-1ae39$\Default 512 2.4
Service-0x0-12d284a7$\Default 512 2.5
Service-0x0-1312b6d4$\Default 512 15.0
-------------------------------------------------------------
上記のように、winsta0 のデスクトップ ヒープの 44% しか使用していません。
また、このエラーは時々発生します。言及された制限に達することはありません。問題がどこにあるかを確認するにはどうすればよいですか? このエラーが発生する原因は何ですか?
ありがとう