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

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

Splash screen [D7, WinXP]


Бук ©   (2003-01-20 12:33:00) 

Как сделать так, чтобы в splash screen отображалось состояние загрузки программы. Например как при загрузке Adobe Photoshop: "load palette", "loadfonts", "Initialization" и. т. д....


Chubais   (2003-01-22 10:47:00) [1]

>>Проще, да - но не люблю я так
в-общем, дело вкуса и способности идти на компромисс
>>просто выводить текстовое сообщение
имхо-единственно правильное решение
полезно еще тем, что при ошибке юзверь может сказать, на каком процессе ошибка вылезла


Думкин   (2003-01-22 10:40:00) [2]


> Chubais © (22.01.03 10:12)

Мысль у тебя впереди паравоза. Проще, да - но не люблю я так. Есть юниты с классами форм и прочими - там нет ни одного экземпляра. Их делаю в других юнитах, непосредственно отражающих задачу. А гадить в общих юнитах временными экземплярами негоже. Потом задолбишься повторно использовать.
Время загрузки - да его не отследишь и не надо. Есть реперные точки, по их прохождению и посылается сообщение. Кол-во реперных можно или прикинуть или прогресс не пользовать вообще, а просто выводить текстовое сообщение.
В одной проге я написал, что гружу словарь и кол-во слов показываю, - на самом деле он давно в памяти, но идет предварительная обработка - вот и вешаю лапшу юзеру на уши, чтоб не скучал, - выглядит правдоподобно.


Chubais   (2003-01-22 10:17:00) [3]

Sha © (22.01.03 08:48)
>>Трудно сделать прогресс, действительно отображающий время.
а чо тут трудного? сохранил время начала, и выводи разницу с текущим...
или ты имеешь в виду - выводить время , которое прога загружается, по отношению к времени полной загрузки? маразммаксимальное время загрузки узнать нельзя

можно отображать процесс загрузки - если у тебя 5 операций при загрузке, показывай прогессбар из 5-ти кубиков и тп

>>Мигающая ЗАГРУЗКА значительно проще.
а что это такое?


Chubais   (2003-01-22 10:12:00) [4]

Думкин © (22.01.03 06:30)
поэтому проще
>>знать форму по имени и прошивать в видимость юнита
ничего плохого не случится, если в видимость добавить юнит сплаш-формы


Sha   (2003-01-22 08:48:00) [5]

Трудно сделать прогресс, действительно отображающий время.
Мигающая ЗАГРУЗКА значительно проще.


Думкин   (2003-01-22 06:30:00) [6]


> Chubais © (21.01.03 10:32)

Для этого нужно знать форму по имени и прошивать в видимость юнита, а так одним хэндлом обойтись можно - а он допустим в общем юните на момент исполнения пропишется. В принципе, почти то же самое, но мне мое больше нравится. Другое дело, что загрузку придется все-равно аккуратно делать - у меня по первости этот сплэш ни на что не реагировал - я на нем прогрессбар ставил, так он вначале замирал - и потом прыгал в конец и выплывала программа. Хоть и ProcessMessage или Refresh юзал.


Chubais   (2003-01-21 10:32:00) [7]

ААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!
ну с БУКом понятно - дерево на то и дерево....
Groove © (20.01.03 14:29) порадовал)))))))

Думкин © (21.01.03 07:30)
а если не сообшения посылать, а напрямую менять caption например? а потом "обновить" сделать?


Бук   (2003-01-21 08:45:00) [8]

Ок...


Думкин   (2003-01-21 08:43:00) [9]

PostMessage(....)
А в остальном пошурупь уж.


Бук   (2003-01-21 08:37:00) [10]

Какие именно сообщения?


Думкин   (2003-01-21 07:30:00) [11]

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


Бук   (2003-01-21 07:06:00) [12]

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


Groove   (2003-01-20 14:29:00) [13]

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


Наверх

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