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

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

Не запускается проект [D5, Win95/98]


SergeyDove ©   (2002-12-03 13:55:00) 

В проекте около 50 форм. Все формы создаются при старте проекта. Столкнулся с проблемой: чем больше форм в проекте, тем более вероятность получить при старте сообщение вида "Out of resource" или чтото вроде. И после чего приложение, часто, намертво зависает. Один из вариантов обхода - создавать формы в динамике по мере надобности.
Может кто подскажет от чего это может быть и как это еще можно обойти?


Игорь Шевченко   (2002-12-03 15:14:00) [1]

Ihor Osov"yak © (03.12.02 14:38)

Разумеется :-)


Ihor Osov'yak   (2002-12-03 14:38:00) [2]

2 Игорь Шевченко © (03.12.02 14:23)

Спасибо за уточнение. Но на уровне идеи я был прав (надеюсь) ..


Song   (2002-12-03 14:32:00) [3]

2Ihor Osov"yak © (03.12.02 14:30)
Ну так это когда припрёт.
Я ж не говорю, что она не запускается. Она работает, причём очень даже классно, на любых машинах. Но вот из под IDE трудности у неё :-)


Ihor Osov'yak   (2002-12-03 14:30:00) [4]

2 Song © (03.12.02 14:20)

Что то не пойму Вас, сер .... А как насчет декомпозиции, обеспечения минимальных взаимосвязей между модулями , отладки помодульно в составе вспомагательных проектов и тд, и пт...
В конце концов разбиение на несколько dll, отдельных подзадач, тот же com.... Да много чего там напридумано, для того, чтобы нормально работать с "большими" проектами.




Игорь Шевченко   (2002-12-03 14:23:00) [5]

Ihor Osov"yak © (03.12.02 14:16)

Хэндлов, это оно в Nt $FFFF. В Win95/98 их меньше.
А Out Of resources - это нехватка ресурсов GDI, которых в Nt $3FFF на все про все, а в Win95/98 - еще меньше. На каждую форму требуется N ресурсов GDI при ее создании, так что, вполне возможна ситуация, когда не спасет динамическое создание форм, когда этих формы будет одновременно открыто большое количество.

Выход в таких случаях один - переделывать дизайн, отказываться от картинок, кнопок с картинками и прочих наворотов.

С уважением,


SergeyDove   (2002-12-03 14:20:00) [6]

2 Ihor Osov"yak © (03.12.02 14:16)
Спасибо за совет


Song   (2002-12-03 14:20:00) [7]

У меня прога на VCL"е. Весит 1.7М. Я даже не пытаюсь её запустить из-под Дельфей.
А когда приходится трассировать, столько ухищерений приходится выдумывать, можно уже целую теорию создать "Как отладить большое приложение."
А что касается сабжа, то это обычное дело. W9x+чипсет матери VIA+большой проект+Дельфи+возможно приложения в фоне=зависон крутой обеспечен.
Насчёт ошибок, бывает "E out of resources" и "Canvas don"t allow drawing" ну и как следствие - куча AVшек и даже ошибки с ядром (белая табличка).


FreeLancer   (2002-12-03 14:19:00) [8]

SergeyDove © >

> Да, но вопрос остался , почему и как еще?

Динамическое создание форм не сильно освободит ресурсы системы. Чем-то ты их сильно занимаешь (ресурсы). А мы вряд ли сможем узнать чем.


Ihor Osov'yak   (2002-12-03 14:16:00) [9]

но все же, ведь $FFFF вполне достаточное кол-во, да и ошибка не всегда происходит

Ну как сказать. Хендлы - это не только окошки ....
Ну и в Вашем творении на одной форме несколько десятков хендлов ... Плюс запуск из под делфи, которая в дизайне держит эти формочки с хендлами (во всяком случае, некоторое кол . формочек)

Так что два-три таких творения запустить и приехали ...


SergeyDove   (2002-12-03 14:12:00) [10]

2 Ihor Osov"yak © (03.12.02 14:09)
куда я денусь ... но все же, ведь $FFFF вполне достаточное кол-во, да и ошибка не всегда происходит


Ihor Osov'yak   (2002-12-03 14:09:00) [11]

2 SergeyDove © (03.12.02 14:06)
> Да, но вопрос остался , почему и как еще?

Ходя бы потому Ihor Osov"yak © (03.12.02 14:03)
+ приложение пошустрее запускается.

как? Пальчиками по клавишам...




SergeyDove   (2002-12-03 14:06:00) [12]

2 stone © (03.12.02 14:00)
Да, но вопрос остался , почему и как еще?


SergeyDove   (2002-12-03 14:04:00) [13]

все это в полном порядке :)


Ihor Osov'yak   (2002-12-03 14:03:00) [14]

2 FreeLancer © (03.12.02 14:00)

Под w9x где хендлеров кажись только $FFFF никакая доп память при "умелом" "дизайне" большого проекта не поможет ....


FreeLancer   (2002-12-03 14:00:00) [15]

1. Переписать код
2. Увеличить объем RAM
3. Увеличить размер swap file


stone   (2002-12-03 14:00:00) [16]


> создавать формы в динамике по мере надобности.

ты сам ответил на свой вопрос


Наверх

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