Netspirit писал(а):
посмотри в "Диспетчере задач" значения "Объекты USER" и "Объекты GDI" для процесса HiAsmОбъекты USER = 195
Объекты GDI = 9 999
nesco писал(а):
были любители использовать 100500 интерфейсных элементов на формеНу да, интерфейсных многовато, но от них никуда не деться. К тому же большинство однотипных запихнуты в динамические панели и создаются уже в runtime.
Nic писал(а):
Уже делал предположение что виноваты менеджерыНет, в том куске, который я копировал, свойств-менеджеров не было. Да и проблем с менеджерами тоже никогда не возникало: при копировании ссылка на менеджер (читай: количество parent.parent...) автоматически изменяется на нужную, тут на hiasm грешить не приходится.
--- Добавлено в 2020-01-21 18:48:13
В общем, попробовал поставить HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota = 20 000.
Вроде получилось: в Диспетчере теперь за 10 000 показывает, но hiasm никаких ошибок не выдаёт.
А по поводу архитектуры программы: что тут ещё сделаешь, если функций много и логика непростая. И так всё, что можно, интерфейсное поубирал в динамические панели, а ещё стараюсь один и тот же кусок использовать для разных функций, меняя только исходные данные. Дальше только одно - вместо связки нескольких компонентов их код просто делать на IC, но это уж совсем извращение.