Я написал приложение, в котором иногда нахожу ошибки EOutofResources, вызванные методом GDIError модуля Graphics при сохранении TBitmap32 в поток.
Насколько я знаю, это может происходить из пределов 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
-------------------------------------------------------------
Как указано выше, я использовал только 44%куча рабочего стола в winsta0.
Кроме того, время от времени возникает эта ошибка.оно никогда не достигает упомянутых пределов.Как я могу проверить, где проблема?Что вызывает повышение этой ошибки?
Спасибо