Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

Загрузочная форма   Найти похожие ветки 

 
Stype ©   (2004-08-27 10:28) [0]

Как сделать, чтобы во время загрузки программы появлялась форма,
а после затрузки она исчезала(например как при загркзке Delphi)


 
Ega23 ©   (2004-08-27 10:50) [1]

Поищи в FAQ про splash-формы


 
Yr2   (2004-08-27 11:03) [2]


program Project1;

uses ...

{$R *.res}

begin
 Application.Initialize;

 Application.CreateForm(TForm1, Form1); // это главная форма

 Application.CreateForm(TFormLoader, FormLoader); // это форма - "окно загрузки"

 FormLoader.Show;

 Application.CreateForm(TForm2, Form2);
 Application.ProcessMessages;

 Application.CreateForm(TForm3, Form3);
 Application.ProcessMessages;

 Application.CreateForm(TForm4, Form4);
 Application.ProcessMessages;

 ...
 ...
 ...

 Application.CreateForm(TFormN, FormN);
 Application.ProcessMessages;

 FormLoader.Free;  // убиваем загрузочную форму (она уже не нужна)

 Application.Run;
end.


кстати, на загрузочной форме можно еще организовать пиковый индикатор загрузки приложения, если N=много


 
Erik1   (2004-08-27 11:40) [3]

Я сделал так, это меньше ресурсов теребует, но недолжно быть элементов получающих фокус.
 Application.Initialize;

 SplashForm := TSplashForm.Create(nil);
 SplashForm.Refresh;

 Application.Title := "Starvara";
 Application.CreateForm(TLookup, Lookup);
 Application.CreateForm(TMainDM, MainDM);
 Application.CreateForm(TMainForm, MainForm);
 MainForm.Show;

 SplashForm.Free;
 SplashForm := nil;

 MainForm.Login;
 Application.Run;


 
Amoeba ©   (2004-08-27 14:53) [4]

Пример найдешь в демо-приложении MastApp (входит в поставку Delphi)


 
SPy ©   (2004-08-27 17:52) [5]

Я всегда так делаю:


{$R *.res}

begin
 Application.Initialize;
 fmSplash:=TfmSplash.Create(Application);
 fmSplash.Show; fmSplash.Update;
 Application.Title := "Title";
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.CreateForm(TForm3, Form3);
 Application.CreateForm(TfMkDir, fMkDir);
 fmSplash.Hide; fmSplash.Free;
 Application.Run;
end.


Настройки fmSplash:
FormStyle = fmStayOnTop
BorderStyle = bsNone
Position = poScreenCenter
BorderIcons = []

Удачи!
У тебя уже есть 3 примера ;)


 
GrayFace ©   (2004-08-27 18:03) [6]

> fmSplash.Hide; fmSplash.Free;

Лучше Close; Free;


 
Stype ©   (2004-08-28 08:23) [7]

Всем большое спасибо! Всё работает!



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

Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.06 c
1-1093616182
GrayFace
2004-08-27 18:16
2004.09.12
Компонент, как published property Компонента


14-1093259511
Jenek
2004-08-23 15:11
2004.09.12
Поместить программу в меню Windows


1-1093528907
erika
2004-08-26 18:01
2004.09.12
вызов процедуры дочерней формы из другого unit a


1-1093517944
aleks-ran
2004-08-26 14:59
2004.09.12
Возврат значения (ий) в вызывающую форму


14-1093262735
SPeller
2004-08-23 16:05
2004.09.12
Сеть





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский