Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Максимальное количество форм


Oleksiy ©   (2004-09-11 13:33:00) 

Какое максимальное количество форм можно добавить в проект, и есть ли возможность каким то образом обойти такое ограничение


Amoeba   (2004-09-13 14:33:00) [1]

Если пишешь под Win9x, то оставляй открытыми в IDE как можно меньше форм.


Anatoly Podgoretsky   (2004-09-12 13:14:00) [2]

Oleksiy ©   (11.09.04 16:32) [5]
Тогда ограничения нет. 300 форм это вообще мелочь, это же ресурсы.


Sergey_Masloff   (2004-09-12 11:13:00) [3]

При запуске exe это случаем не при нажатии зеленой треугольной кнопочке в IDE?


DiamondShark   (2004-09-12 10:56:00) [4]


> а кто сказал что формы создаются автоматически? ничего подобного,
> все формы создаются только динамически

Верится с трудом. Симптомы как раз такие, как при автоматическом создании всех форм.

Поэтому код .dpr в студию. Для начала.


Jel   (2004-09-11 18:28:00) [5]


> ошибка возникает перед запуском программы

На этапе компиляции???


Oleksiy   (2004-09-11 17:35:00) [6]

создаются по мере необходимости, и уничтожаются соответственно, поэтому сразу и не достигается максимально допустимое количество дескрипторов окон, а ошибка возникает перед запуском программы


Sergey_Masloff   (2004-09-11 17:03:00) [7]

Windows 9x имеет существенно меньшие чем WinNT количество доступных для выделения системных ресурсов. В частности, максимальное число дескрипторов окон равно 16364. Если учесть что все потомки TWinControl имеют собственный дескриптор окна то... Шансы достигнуть лимита под Win98 довольно велики.
 Про динамическое создание - создаются то они динамически но не все сразу, надеюсь? И закрываются когда не нужны с высвобождением?


Oleksiy   (2004-09-11 16:32:00) [8]

а кто сказал что формы создаются автоматически? ничего подобного, все формы создаются только динамически


Yuri Btr   (2004-09-11 15:55:00) [9]

Вы же не собираетесь отображать все 300 форм одновременно.
Вам нужно переиспользовать уже созданные формы, скрывая или видоизменяя имеющиеся контролы. Или же действительно динамически создавать форму когда нужна и затем её уничтожать.
Удачи.


Иванушка-Программист   (2004-09-11 15:10:00) [10]

1. 300 автоматически создаваемых форм? При таком количестве давно нужно было задуматься о динамическом создании форм.
2. Увеличить объем памяти (RAM).


Oleksiy   (2004-09-11 14:15:00) [11]

Не будем пока касаться логики програмиста :) количество форм - 300 штук, и при добавлении очередной формы 98-я, при запуске exe-шника, говорит что ей памяти не хватает, так что проблема скорее и не в количестве форм в проекте, поскольку под 2000-й виндой и выше проблем нет. Все что мне сейчас нужно, так это толковый совет, как решить проблему, а не как заново перепроектировать и переписать приложение :)


Cosinus   (2004-09-11 13:58:00) [12]

1) Что то мне подсказывает, что даже если и есть ограничение, то вам (да и нам) то уж точно хватит:) Плодить бесконечное количество форм - это... как бы сказать то... а, во - НА ФИК не надо :).  
2)Какое ограничение???

PS Единственное где, на мой взгляд, оправданно немеренное количество форм - так это в базах, и если приложение никак не связано с базой данных, и при этом имеет количество форм кратное, допустим, 100, то видимо что то с логикой у программиста... :)))

PPS Допускаю возможность, что программа с базой не связана, но форм много. Просто я не встречал, если и есть - это видимо что то жутко специфическое.

PPPS Все вышеизложенное ИМНО. Если я не прав поправьте меня.

PPPPS Ветка видимо переползет в "потрепаЦа"


Наверх

Титульная страница Поиск, карта сайта Написать письмо