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

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

Когда лучше грузить файлы? [D6, WinME]


KaLLeKa ©   (2004-07-24 14:06:00) 

Вопрос может быть покажется вам смешным, но все таки:
Моя программа при загрузке должна загружать большое колличество файлов (текс, графика). Когда лучше загружать файлы в OnCreate или в OnActivate, или это не имеет никакой разницы ?


Юрий Зотов   (2004-07-25 08:54:00) [1]

Грузить лучше всего в бесконечном цикле. Вот это настоящая загрузка получится, по самое "не балуй". Машина просто увянет. А в OnPaint - это так, мелочи.

> KaLLeKa

Ваш сарказм неуместен. Как это ни странно, но самый правильный ответ дан действительно в [1]. Грузите каждый файл не раньше, чем он станет Вам действительно нужен и закрывайте сразу же, как только он становится окончательно не нужен. Это общее правило при работе с любыми системными ресурсами. И не зная сути Вашей программы, ничего более конкретного сказать нельзя.

Можно только добавить, что загрузка в OnActivate, OnPaint и в других подобных обработчиках - это полный бред, потому что такие обработчики вызываются многократно.


DelphiN!   (2004-07-25 08:05:00) [2]

>GrayFace
Грузить в OnPaint? :)))) В OnResize тоже неплохо погрузить можно:))


KSergey   (2004-07-25 07:48:00) [3]

> GrayFace ©   (24.07.04 20:27) [12]
> в OnPaint которой
> все грузить.


Только не так, я вас умоляю.


Gero   (2004-07-25 03:18:00) [4]

В разделе initialization.


Serge_   (2004-07-25 01:09:00) [5]

Почему бы не создать нить и грузить откуда угодно тогда
никакой зависи не будет...


GrayFace   (2004-07-24 20:27:00) [6]

>Потому что в OnActivate Вы получите эффект начального зависания программы. Пользователей это бесит.
Если грузить надо мало, то OnCreate, если много - тогда можно в OnCreate показывать форму-заставку, в OnPaint которой все грузить. Тогда еще надо вставить Applicton.ProcessMessages в процедуру загрузки.


Бином Ньютоныч   (2004-07-24 15:48:00) [7]

>Anatoly Podgoretsky ©   (24.07.04 14:23) [1]

:))))))))) 5 баллов!!!


Palladin   (2004-07-24 15:40:00) [8]


>  KaLLeKa   (24.07.04 14:57)

К сожалению ты не понял великой мысли... так что понаписать этого ты не смог бы...


Anatoly Podgoretsky   (2004-07-24 15:35:00) [9]

Нет, немного раньше, а конкретно с [0]
По сути ни один из ответов OnCreate, OnActivate или OnShow не может быть правильныи, правильный ответ в [1]и может быть разрешен только после определенных телодвижений со стороны автора.


Андрей Сенченко   (2004-07-24 15:24:00) [10]

Anatoly Podgoretsky ©   (24.07.04 15:18) [7]

С качеством что-то стало не то с момента моего последнего посещения, вам не кажется ?


Anatoly Podgoretsky   (2004-07-24 15:18:00) [11]

KaLLeKa   (24.07.04 14:57) [2]
Пожалуйста, объяснил в соотвествии с качеством вопрос, а вам что не понравилось?


  (2004-07-24 15:18:00) [12]

Удалено модератором


Андрей Сенченко   (2004-07-24 15:16:00) [13]

Потому что в OnActivate Вы получите эффект начального зависания программы. Пользователей это бесит.


KaLLeKa   (2004-07-24 15:07:00) [14]

>Mental_Ray
Спасибо, а почему именно при OnShow ? :)


Mental_Ray   (2004-07-24 15:03:00) [15]

Лучше всего грузить на OnShow, а на OnActivate - это отстой получится. :)


KaLLeKa   (2004-07-24 14:57:00) [16]

Очень внятно объяснил. Примного благодарен. Такие ответы я мог бы и сам тут у вас в вашем форуме всем понаписать.


Anatoly Podgoretsky   (2004-07-24 14:23:00) [17]

Там где будет правильнее по задаче. Может даже лучше и не загружать.


Наверх

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