Форум: "Основная";
Текущий архив: 2004.03.09;
Скачать: [xml.tar.bz2];
ВнизВопрос по созданию и загрузке форм ! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c