Loading...
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.37] |
|
|
В разделе обсуждаются следующие темы:
Loading...
|
Сообщ.
#1
,
|
|
|
|
Во многих крупных прогах (в основном в играх) при запуске начинается загрузка.
Так вот: как мне сделать в моей проге (с OpenGL) загрузку, чтобы после этого она меньше тормозила? |
|
Сообщ.
#2
,
|
|
|
|
при запуске показывается 1 форма показывает твою фишку
потом закрывается и показывается главная форма где твое меню и т.д. .... могу пример дать..... |
|
Сообщ.
#3
,
|
|
|
|
Давай
|
|
Сообщ.
#4
,
|
|
|
|
да никто не обидется... где-то нашел
Цитата Сведения о программе, авторские права и т.д., лучше оформить в виде отдельной формы и показывать ее при запуске программы (как это сделано в Word). Сделать это не сложно: Создаете форму (например SplashForm). Объявляете ее свободной (availableForms). В Progect Source вставляете следующее (например): program Splashin; uses Forms, Main in 'MAIN.PAS', Splash in 'SPLASH.PAS' {$R *.RES} begin try SplashForm := TSplashForm.Create(Application); SplashForm.Show; SplashForm.Update; Application.CreateForm(TMainForm, MainForm); SplashForm.Hide; finally SplashForm.Free; end; Application.Run; end. И форма SplashForm держится на экране пока выполняется Create в главной форме. Но иногда она появляется и пропадает очень быстро, поэтому нужно сделать задержку: 1. Добавляете на форму таймер с событием: procedure TSplashForm.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; end; 2. Событие onCloseQuery для формы: procedure TSplashForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := Not Timer1.Enabled; end; 3. И перед SplashForm.Hide; ставите цикл: repeat Application.ProcessMessages; until SplashForm.CloseQuery; 4. Все! Осталось установить на таймере период задержки 3-4 секунды. 5. На последок, у такой формы желательно убрать Caption: SetWindowLong (Main.Handle,GWL_STYLE, GetWindowLong(Main.Handle, GWL_STYLE) AND NOT WS_CAPTION OR WS_SIZEBOX); где не помню ;D |
|
Сообщ.
#5
,
|
|
|
|
Пасибо, но я не про это спрашивал !
Я имел в виду это: Как сделать, чтобы прога заружала все ресурсы до появления на экране, а не во время исполнения (например, текстуры) ??? |
|
Сообщ.
#6
,
|
|
|
|
глупость .. но FormActivate ..... :-/ :-/ :-/ :-/
|
|
Сообщ.
#7
,
|
|
|
|
Где то был пример, ээ всмысле т.е. типа заставки? аа нет, там просто интервал времени показываешь...
![]() |
|
Сообщ.
#8
,
|
|
|
|
Цитата LAMA3OID, 17.02.03, 17:37:07 Пасибо, но я не про это спрашивал ! Я имел в виду это: Как сделать, чтобы прога заружала все ресурсы до появления на экране, а не во время исполнения (например, текстуры) ??? Вот здесь вставляешь ручную загрузку всех ресурсов и создание всех форм. ![]() ![]() <br> begin <br> try <br> SplashForm := TSplashForm.Create(Application); <br> SplashForm.Show; <br> SplashForm.Update; <br> Application.CreateForm(TMainForm, MainForm); <br><------------------------><br> SplashForm.Hide; |