Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

Вопрос по созданию и загрузке форм !   Найти похожие ветки 

 
Senti   (2004-02-25 20:48) [0]

Хотелось бы сделать вот таким образом....

В проекте 8 форм.
Когда идет их загрузка погазывается первая форма и она тормозит пока не загрузятся все остальные.
Хотелось бы сделать так, чтобы пока не загрузились все остальные формы, форма 1 не показывалась, а вместо нее показывался так называемое Splash окно...


 
jack128 ©   (2004-02-25 20:53) [1]

открываешь файл проэкта (Project|View Source) и удаляешь строки
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
и ежи с ними

На счет > Splash окно... , вроде даже демка была и все в пустую.. ;-((


 
Defunct ©   (2004-02-26 00:36) [2]

jack128 © (25.02.04 20:53) [1]
нет ничего удалять не надо. Просто поменять порядок:
Appliction.CreateForm(TSplashOkno, SplashOkno);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
..
ну и последней:
Application.CreateForm(MainForm, TMainForm);

А у форм поставить атрибут Visible:=false и зажигать после содания главной формы, тогда же и гасить сплэш окно


 
Гаврила   (2004-02-26 00:43) [3]

>>Defunct © (26.02.04 00:36) [2]
В таком случае главной формой окажется TSplashOkno.
Потому что главная форма - это та, которая создна первой с парметром Owner = Application.

Если уж возникла необходимость создавать сразу все формы, а не прислушаться к совету номер 1, то нужно сделать так
в файле проекта
Application.Initialize;
SplashOkno:=TSplashOkno.Create(nil);
SplashOkno.Show;
SplashOkno.Refresh;
далее создание всех остальных форм
SplashOkno.Release;
Application.run;

и проверь, всех форм visible должно стоять в положении False


 
Германн ©   (2004-02-26 00:59) [4]

Не понятен сам исходный вопрос. Что значит " В проекте 8 форм.
Когда идет их загрузка погазывается первая форма и она тормозит пока не загрузятся все остальные.
"

Ведь все CreateForm в стандартном проекте происходят до показа всех форм, в т.ч. и главной.

А понятие "загрузка формы" вообще непонятно что значит. :((


 
Defunct ©   (2004-02-26 02:49) [5]

> Гаврила (26.02.04 00:43) [3]

Если это не MDI приложние, то нет разницы какая из форм будет оффициально главной формой (хоть невидимая, хоть splash окно), главное кого мы сами считаем главной (в визуальном плане).


 
KSergey ©   (2004-02-26 05:35) [6]

> Defunct © (26.02.04 02:49) [5]
> Если это не MDI приложние, то нет разницы какая из форм
> будет оффициально главной формой (хоть невидимая, хоть
> splash окно), главное кого мы сами считаем главной (в визуальном > плане).

Нифига! При закрытии главной формы закроется и все приложение.


 
Alex Konshin ©   (2004-02-26 06:50) [7]

Одного не могу понять, зачем люди создают все формы сразу?


 
KSergey ©   (2004-02-26 07:31) [8]

1.Либо они не знают, что можно иначе
2.Либо в приложении всего одна форма ;)


 
TUser ©   (2004-02-26 07:38) [9]

Лучше убрать все Application.CreateForm, а при показе каждой формы писать
if not Assigned(Form125) then
Application.CreateForm(...);
А если ты посто хочешь заставку вывести на время загрузки всех этих форм, тогда - выводи ее, потом делай CreateForm для остальных форм, потом убираем Splash и показываем основную форму приложения. Вот так.


 
Anatoly Podgoretsky ©   (2004-02-26 08:57) [10]

Alex Konshin © (26.02.04 06:50) [7]
Чтобы потом не создавать :-)
Сделал дело гуляй смело, а то что долго и глючно, это второстепенное.


 
Defunct ©   (2004-02-26 17:59) [11]

KSergey © (26.02.04 05:35) [6]
> Нифига! При закрытии главной формы закроется и все приложение.

Это уже мелочи жизни, наоборот приятней когда в многоформенном SDI приложении главная форма будет невидимой, чтобы не убить случайно все приложение.



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

Текущий архив: 2004.03.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
3-25718
Senator
2004-02-11 13:17
2004.03.09
Построение дерева


14-25923
Cardinal
2004-02-14 15:19
2004.03.09
UPX Shell с ее защитой от декомпрессии


1-25787
Layner
2004-02-26 09:23
2004.03.09
Мастера, посоветуйте, как сделать например 48 TEdit в цикле,


8-25825
Михайлов Антон
2003-10-31 09:25
2004.03.09
Очень срочный вопрос! Mp3->Rate


4-25967
amo
2004-01-04 15:45
2004.03.09
Почему в Win XP не работает EnumWindows