Вниз
Скачать: CL | DM;

Splash screen   Найти похожие ветки 

 
Бук   (2003-01-20 12:33) [0]

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


 
Groove ©   (2003-01-20 14:29) [1]

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


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

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


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

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


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

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


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

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


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

Ок...


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

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

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


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


> Chubais © (21.01.03 10:32)

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


 
Sha ©   (2003-01-22 08:48) [9]

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


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

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


 
Chubais ©   (2003-01-22 10:17) [11]

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

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

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


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


> Chubais © (22.01.03 10:12)

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


 
Chubais ©   (2003-01-22 10:47) [13]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.016 c
9-96510
NDR
2002-08-08 10:47
2003.01.30
НА ЧЁМ ПИСАТЬ ?


1-96873
softmaster
2003-01-21 12:16
2003.01.30
Проблема с OLE.


1-96697
Gayrus
2003-01-21 16:44
2003.01.30
Height


1-96831
NorthMan
2003-01-20 21:32
2003.01.30
Как узнать логин пользователя на удаленном компьютере?


6-96917
zitrol
2002-11-20 00:05
2003.01.30
Вывести ip на экран!




   Наверх