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

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

Как будет грамотнее?


demon ©   (2008-08-07 12:49:00) 

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


{RASkov}   (2008-08-17 17:21:00) [1]

> [11] demon ©   (17.08.08 17:14)
> Но VCL программы ведь сначала создают все окна, а потом
> их можно паказать через form.show, или я не прав?

Форма - это не совсем окно, а такой же класс в VCL, как например TStringList....

В Делфи-приложениях по умолчанию все формы создаются при старте приложения. Их создание находится в файле проекта dpr.
Но там же или в опциях проекта можно изменить это. Т.е. исключить некоторые формы из автосоздаваемых....

> А еще, если заглянуть в процесс какой нить программы (с
> помощью специальных утилит, у меня плагин к TC), то можно
> увидеть, что там есть все классы всех её окон, можно присвоить
> окну visible - и оно будет видимым ;)

Что-то слишком у тебя все просто :)
Хотя на самом деле это и в самом деле не так сложно как кажется, но...)


demon   (2008-08-17 17:14:00) [2]

Но VCL программы ведь сначала создают все окна, а потом их можно паказать через form.show, или я не прав?

А еще, если заглянуть в процесс какой нить программы (с помощью специальных утилит, у меня плагин к TC), то можно увидеть, что там есть все классы всех её окон, можно присвоить окну visible - и оно будет видимым ;)


multiflex   (2008-08-15 22:01:00) [3]


> Slym ©   (08.08.08 09:22) [9]

хорошую аналогию провел =-О, жесть !


Slym   (2008-08-08 09:22:00) [4]

Я с ужасом представил как винда запускает все свои приложения в срытом режиме, а в ярлыках программ стоит только команда Show


Slym   (2008-08-08 09:20:00) [5]

Блондинка пришла к врачу: Мне полностью раздеваться или попояс?
Полностью! я ведь окулист :)


Нат   (2008-08-07 16:47:00) [6]

Еще зависит от выбранного стиля.
Если занадобилось MDI - скрыть форму будет нельзя, только свернуть.
Создал-Поюзал-Уничтожил - универсальный метод.
Существенно
> если окна не супернавороченные


alex-drob   (2008-08-07 15:56:00) [7]

Удалено модератором
Примечание: Создание пустых сообщений


Johnmen   (2008-08-07 15:36:00) [8]


> Rouse_ ©   (07.08.08 12:59) [2]
> В потоке то зачем их создавать?


> DVM ©   (07.08.08 13:28) [4]
> > или каждое окно создавать в своём потоке, и запускать потоки
> > по мере надобности?
> приключений ищешь на свою задницу?

Просто ему слово "поток" понравилось - загадочное и непостижимое.


DVM   (2008-08-07 13:28:00) [9]


> или каждое окно создавать в своём потоке, и запускать потоки
> по мере надобности?

приключений ищешь на свою задницу?


> Какой вариант экономичнее для памяти?

Правильнее все окна и вообще весь интерфейс пользователя держать в одном (первичном) потоке. А окна создавать по мере необходимости в них. Когда необходимость отпадает уничтожать. Создание - уничтожение немного замедлит работу программы, но если окна не супернавороченные то это будет практически незаметно.


{RASkov}   (2008-08-07 13:08:00) [10]

> [0] demon ©   (07.08.08 12:49)

На твой вопрос нельзя ответить однозначно.... Все зависит от ситуации...
Вот например окно About часто в программе нужно?
И в связи с этим стоит ли каждый раз его создавать и держать в памяти?


Rouse_   (2008-08-07 12:59:00) [11]

В потоке то зачем их создавать? Если радеешь за память - создавай окна по мере необходимости и разрушай как только они перестают быть нужными.


brother   (2008-08-07 12:58:00) [12]

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


Наверх

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