Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2009, 20:34   #1
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию Долго грузится программа

Всем привет! Сейчас проходит секунд 7 прежде чем появляется при запуске программа. Начал разбираться. Причину нашел. Программа имеет 5-ть форм. Так вот, если в Project1.dpr закоменнитировать все формы, кроме первой:

Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
  //Unit2 in 'Unit2.pas' {Form2},
  //Unit3 in 'Unit3.pas' {Form3},
  //Unit4 in 'Unit4.pas' {Form4};
  //Unit5 in 'Unit5.pas' {Form5};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  //Application.CreateForm(TForm2, Form2);
  //Application.CreateForm(TForm3, Form3);
  //Application.CreateForm(TForm4, Form4);
  //Application.CreateForm(TForm5, Form5);
  Application.Run;
end.
и закоментировать строчку:

Код:
implementation

//uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}
тогда все грузится мгновенно. Это как-то можно поправить? Или можно тогда хотябы сделать как-нибудь заставку, которая бы исчезала после появления основной формы? Т.е не тупа поставить на заставку таймер и задать время, а чтобы заставка знала, что сейчас наконец появится основная форма и пора закрыться
Я бы изменил мир, но Бог не дает исходники...
Polotenchik вне форума Ответить с цитированием
Старый 08.09.2009, 20:37   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
//Application.CreateForm(TForm2, Form2);
//Application.CreateForm(TForm3, Form3);
//Application.CreateForm(TForm4, Form4);
//Application.CreateForm(TForm5, Form5);
Эти формы создавай динамически. В смысле не в dpr, а через 1 сек после появления главной формы. На время их создания можешь даже запустить заставку.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 20:42   #3
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию

А можно примерчик?

П.С. Кстати если просто закоментировать в dpr, но оставить uses Unit2, Unit3, Unit4, Unit5; тогда толку 0. Мгновенно начинает грузиться если закомментировать все.
Я бы изменил мир, но Бог не дает исходники...
Polotenchik вне форума Ответить с цитированием
Старый 08.09.2009, 20:43   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Лично мои наработки:
Код:
program PRJMain;

uses
  Forms,
  UNTMain in 'UNTMain.pas' {FRMMain},
  UNTBack in 'UNTBack.pas' {FRMBack};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TFRMMain, FRMMain);
  Application.Run;
end.
Код:
{В главной форме}
procedure TFRMMain.FormCreate(Sender: TObject);
Var
 FL,FT:Integer;
begin
 CDir:=GCD;
 GST(CDir,FL,FT);
 Application.CreateForm(TFRMBack,FRMBack); {Это то,}
 FRMBack.Show;{Что тебе нужно}
 FRMMain.Left:=FL;
 FRMMain.Top :=FT;
 FRMBack.Left:=FL;
 FRMBack.Top :=FT;
 TMRLac.Enabled:=True;
 FRMBack.IMGBack.Picture:=FRMMain.IMGMain.Picture;
end;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 08.09.2009 в 20:46.
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 20:48   #5
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию

Чет не понял ничего. Вижу добавилось Application.Title := 'XXX';....
Можно разъяснить, как для ослика ? И мне бы еще заставочку сделать все таки...
Я бы изменил мир, но Бог не дает исходники...
Polotenchik вне форума Ответить с цитированием
Старый 08.09.2009, 20:54   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Сообщение я изменил, подставил другой код, в том я 2 формы за раз создавал, что не есть гуд. Сейчас висит хороший вариант.
А заставка работает так:

1) Включил заставку
2) Создаешь формы:
Application.CreateForm(TFRMBack,FRM Back);
FRMBack.Show;
Application.CreateForm(TFRMBack,FRM Back);
FRMBack.Show;
Application.CreateForm(TFRMBack,FRM Back);
FRMBack.Show;
(На названия форм не обращай внимания, подставляй свои)
3) Выключаем заставку.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 20:58   #7
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию

Такс. нифига не выходит! Вот смотрите:
1. Dpr привел к виду:
Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3},
  Unit4 in 'Unit4.pas' {Form4};
  Unit5 in 'Unit5.pas' {Form5};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
2. В oncreat главной формы дописал:

Код:
 Application.CreateForm(TForm2, Form2); {Это то,}
 Form2.Show;{Что тебе нужно}
 Application.CreateForm(TForm3, Form3); {Это то,}
 Form3.Show;{Что тебе нужно}
 Application.CreateForm(TForm4, Form4); {Это то,}
 Form4.Show;{Что тебе нужно}
 Application.CreateForm(TForm5, Form5); {Это то,}
 Form5.Show;{Что тебе нужно}
Удалить:
Код:
implementation

//uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}
не получается все равно...

3. Компилю. По очереди появляются 2,3,4,5-ая форма и все! А главной даже и нету. Может, если не сложно, примерчик прям скинете? На примере скажем 3-ех форм, и если не затруднит с заставкой. Для Вас это минуты на три я думаю... Я наглядно быстро все пойму.
Я бы изменил мир, но Бог не дает исходники...

Последний раз редактировалось Polotenchik; 08.09.2009 в 21:21.
Polotenchik вне форума Ответить с цитированием
Старый 08.09.2009, 21:31   #8
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Show не надо. Используй только когда надо загрузить форму. т.е. просто:
uses Unit2, Unit3, Unit4, Unit5;
...
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 08.09.2009, 22:11   #9
Polotenchik
Форумчанин
 
Аватар для Polotenchik
 
Регистрация: 04.12.2008
Сообщений: 260
По умолчанию

Цитата:
Сообщение от russian-stalker Посмотреть сообщение
Show не надо. Используй только когда надо загрузить форму. т.е. просто:
uses Unit2, Unit3, Unit4, Unit5;
...
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
А так просто появляется форма 2 и все.
Я бы изменил мир, но Бог не дает исходники...
Polotenchik вне форума Ответить с цитированием
Старый 26.03.2010, 11:38   #10
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

У меня было под 40 форм и грузилось всё ровно стоко скоко мне надо 5 сек. Я поставил сплэш главной формой тот вылазил, ждал 5 сек и показывал главную форму.
Яр|/||< (^_^) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows XP не грузится ТиМоШкА Windows 41 25.07.2011 13:49
Сайт стал долго загружаться. Вадим Буренков О форуме и сайтах клуба 8 17.06.2009 12:27
Не грузится ОС Ruska882009 Операционные системы общие вопросы 2 07.04.2009 16:11
Не грузится Windows xp Ruska882009 Windows 2 12.03.2009 21:26
Не грузится Delphi Технолог Помощь студентам 3 07.05.2008 18:00