Бавен старт

5 отговора 121 прегледа
#1

Бавен старт

Здрвейте!
Пиша програма, която когато се стартира зарежда огромни файлове (50-60 MB).
Иска ми се докато зарежда на екрана да покажа Form2, която след като се зареди всичко да се скрие.
Зареждането на файловете съм гo сложил в TForm1.FormCreate, а искам да покажа Form2, която още не е въздадена :)
10х

Отговор
в отговор на Lizard #2

Re: Бавен старт

Грешно постъпващ....
отвори си Project source
там съдай главната , след което модалната форма с метъра, и тогава я покажи...
а скриването вече, или преди Application.Run или в Form1.show...

Отговор
в отговор на Lizard #3

Ne6to mi e neqsno

Ne mi e qsno dadli dokat otvarq6 failovete da se pokaje form 2 i kogato gi zaredi6 da se skrie?
TAKA LI???

Отговор
в отговор на Demo #4

Re: Ne6to mi e neqsno

Tova ne mu li vikat Splash Screen. Ima go vuv vsqka knijka, a i komponenti se namirat

by Wise Guy
[email protected]
Отговор
в отговор на Wise Guy #5

Re: Ne6to mi e neqsno

Ako e tova za koeto si mislq -da vikat mu Splash screen i go ima daje v primernite programi na Delphi samo 4e ne sam siguren dali tova iska avtora na mnenieto

Отговор
в отговор на Lizard #6

Re: Бавен старт

Има (или аз се сещам) за 2 на4ина за решаване на проблема :

1. При зареждането да се показва Slash форма - с лого или някакъв надпис - това го има в Demo -то на Делфи (ииии народе как така не сте прегледали вси4ки примери които вървят с Делфи - максимум 1 ден коства)
Ok - можеш да намериш демото в директория $Delphi\Demos\DB\MastApp\

А това е част от кода от (добавя се ръчно!!!!! в .dpr файла)
------------
Application.Initialize;
SplashForm := TSplashForm.Create(Application);//!!!!
SplashForm.Show;//!!!
SplashForm.Update;//!!!
...
Application.CreateForm(TMastData, MastData);
Application.CreateForm(TMainForm, MainForm);
...
SplashForm.Hide;//!!!!
SplashForm.Free;//!!!!
Application.Run;
-----------

2. Начин - с нишки - процеса на зареждане го отделяш от главния процес - ама това е по трудно - но това е по добрия начин - още пове4е ако ти се налага още веднъж (или пове4е пъти примерно) да зареждаш 40 - 50 MB данни
След приклучването на процеса - просто скриваш модалната форма която си отворил преди пускането му.

Един съвет - OnCreate не е подходящ за подобни обработки - отнемащи много време - помисли за друго решение на проблема - а то се намира в т.2 на моя отговор
Между впро4ем би ли казал на каква тематика е приложението (ако не е тайна) - 4е нещо не се сещам за нито една програма която да зарежда подобен колосален обем данни !!!

---
Е т'ва е живот!
Отговор