Netspirit, выше дополнил про повышение квоты. И отплюсовал тоже, спасибо.
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
3042 писал(а): выше дополнил про повышение квотыНадо не квоту повышать, а подумать над нормальным интерфейсом. Системный интерфейс хорош пока его немного, после преодоления интерфейсными элементами определенного количества на форме начинается трэш и угар. Давно пора уже осваивать самодельный рисованный интерфейс. Да, не совсем уж элементарно, но оно того стоит. Редактировалось 1 раз(а), последний 2020-01-22 01:31:30 |
|||
карма: 22 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Ну, как уже замечали, речь идёт о самом HiAsm, когда без повышения квоты тупо не удаётся открыть схему. А HiAsm никто исправлять не будет - так что либо повысить квоту, либо уменьшить количество компонентов в схеме. А свои программы - да, следить, чтобы такого не было.
|
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Netspirit писал(а): речь идёт о самом HiAsmА вот теперь вопрос -- какие элементы в среде HiAsm вызывают переполнение GDI-ресурсов, случаем не интерфейсные? |
|||
карма: 22 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Мой ответ касался "а подумать над нормальным интерфейсом" - в данном случае думать некому.
nesco писал(а): случаем не интерфейсные?Если это так, то возможное решение - оставлять хендлы только для компонентов текущего контейнера, который видимый на экране и постоянно перерисовывается. Остальные хендлы удаляются по выходе из контейнера. Если при отрисовке иконки копия иконки/битмапа создаётся для каждого компонента на поле - то исправить чтобы иконка хранилась только для каждого элемента палитры и бралась оттуда при отрисовке на поле. Редактировалось 1 раз(а), последний 2020-01-22 18:25:38 |
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Netspirit писал(а): Предполагаю - проблемы создаёт отрисовка иконок компонентов и заливка цветом на рабочем поле HiAsm. Чем больше компонентов - тем больше создаётся хендлов, которые остаются "жить" тогда, когда не нужны. А вот теперь стало очень интересно -- а сколько, собственно, компонентов в схеме коллеги 3042, и сколько из них покрашенных? |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Nic писал(а): Попытайтесь открыть в HiAsm.NET - вдруг чудо произойдёт...Мне тоже интересно было бы узнать сможет ли справиться HiAsm.NET с этим монстром. |
|||
карма: 6 |
|
Ответов: 4628
Рейтинг: 749
|
|||
nesco писал(а): а сколько, собственно, компонентов в схеме коллеги 3042, и сколько из них покрашенных?3042 писал(а): В довольно объёмном проекте (~10к компонентов)А покрашены они все - как минимум, в серый цвет. Поэтому вопрос - каким образом происходит работа с цветом (объекты Brush) при рисовании схемы. Кроме того есть рисование иконки - вопрос тоже в том как используются объекты иконки (вероятно, в виде Bitmap). А на компонентах типа Math ещё используются текстовые надписи - объекты Font. Возможно используются ещё и Region. А ещё ж и точки с линиями рисуются. Редактировалось 3 раз(а), последний 2020-01-23 13:27:18 |
|||
карма: 26 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Netspirit писал(а): Поэтому и счетчик GDI упирается в квоту 10000Че там можно написать на 10k компонентов, это выше моего понимания? Больше чем уверен, что спокойно можно оптимизировать раза в 1.5...2. |
|||
карма: 22 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Nic писал(а): сможет ли справиться HiAsm.NET с этим монстромТак насколько я понимаю, там пакет windows ещё в зачаточном состоянии? nesco писал(а): спокойно можно оптимизировать раза в 1.5...2.3042 писал(а): И так всё, что можно, интерфейсное поубирал в динамические панели, а ещё стараюсь один и тот же кусок использовать для разных функций, меняя только исходные данные. Дальше только одно - вместо связки нескольких компонентов их код просто делать на IC, но это уж совсем извращение.ps. Честно, сам уже не рад, что взялся за этот проект. Там и графики строить, и график работы сотрудников составлять, и планирование тех.работ с напоминалками... Ну и базы данных, конечно же. |
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
3042, попробуй:
1. Закрой HiAsm 2. Зайди в Elements\Delphi\code 3. Найди файл b.bat и запусти его. 4. Запусти HiAsm Редактировалось 1 раз(а), последний 2020-01-25 10:30:27 |
|||
карма: 25 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Tad, всё уже исправлено, спасибо.
|
|||
карма: 9 |
|
27