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

Вниз

Заставка   Найти похожие ветки 

 
GOgo   (2004-11-26 18:56) [0]

Хай, пытаюсь сделать чтобы при загрузке формы 2 на экране появлялась форма один, была на экране 3 секунды и исчезала, надо заставку, но возникает ошибка в памяти при загрузке...

procedure TForm1.Timer1Timer(Sender: TObject);
var
x: Integer;
begin
If Ready=True then
 Begin
  x:=GetTickCount div 1000;
If x>3 then
 Begin
 Form1.Visible:=False;
 Form2.Visible:=True;
end;
end;
end;
---------
procedure TForm1.FormCreate(Sender: TObject);
begin
Ready:=True;
Timer1.Enabled:=True;
Form1.Visible:=True;
Form2.Visible:=False;
end;


 
begin...end ©   (2004-11-26 19:01) [1]


> GOgo   (26.11.04 18:56)

"Ошибка в памяти" возникает, возможно, из-за того, что Form2 ещё не создана.

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619925&n=16


 
SergP ©   (2004-11-26 23:17) [2]

Создаешь в design-time свою форму, например Splash
и правишь файл проекта (dpr) типа так:

program MojaProga;

uses
 Forms,
 Dialogs,
 Graphics,
...

begin
 Application.Initialize;
 Splash:= TSplash.Create(Application);
 splash.Show;
 splash.Update;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.CreateForm(TForm3, Form3);
 Application.CreateForm(TForm5, Form5);
 Application.CreateForm(TForm4, Form4);
 splash.Free;
 Application.Run;
end.

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


 
SergP ©   (2004-11-26 23:17) [3]

Создаешь в design-time свою форму, например Splash
и правишь файл проекта (dpr) типа так:

program MojaProga;

uses
 Forms,
 Dialogs,
 Graphics,
...

begin
 Application.Initialize;
 Splash:= TSplash.Create(Application);
 splash.Show;
 splash.Update;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.CreateForm(TForm3, Form3);
 Application.CreateForm(TForm5, Form5);
 Application.CreateForm(TForm4, Form4);
 splash.Free;
 Application.Run;
end.

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


 
Dot   (2004-11-26 23:29) [4]

В проекте делаешь вот такое вот.
***************************
uses
 Forms,
 MainUnit in "MainUnit.pas" {MainForm},
 Screen in "Screen.pas" {ScreenForm},

begin
  Application.Initialize;
ScreenForm:=TScreenForm.Create(Application);
ScreenForm.Show;
ScreenForm.Update;
while ScreenForm.Timer1.Enabled do
Application.ProcessMessages;
Application.CreateForm(TMainForm, MainForm);
ScreenForm.Hide;
 ScreenForm.Free;
  Application.Run;
end.
**************************
При этом создаешь форму-заставку (простая форма) а на ней кладешь таймер и далее по обработчику.

procedure TScreenForm.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=false;
end;


 
SergP ©   (2004-11-26 23:52) [5]


> При этом создаешь форму-заставку (простая форма) а на ней
> кладешь таймер и далее по обработчику.


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


 
Dot   (2004-11-27 00:10) [6]

TScreenForm.Timer1Timer
смотри внимательней


 
Гаврила ©   (2004-11-27 00:47) [7]

таки лучше передавать nil овнером в конструктор для сплеш окна

и убивать ее не методом Free а методом Release
и никаких таймеров - форма убъется когда начнет работать цикл выборки сообщений - то есть именно тогда, когда надо


 
Германн ©   (2004-11-27 01:17) [8]

Ой, че-то мне сомнительна необходимость вызова метода Update и возможность использования таймера до вызова Application.Run :(



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

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

Наверх




Память: 0.49 MB
Время: 0.052 c
1-1101261730
Bobby Digital
2004-11-24 05:02
2004.12.12
проверить на тип


14-1101061787
uny
2004-11-21 21:29
2004.12.12
забавное - "вопросы детей к богу"


1-1101472948
Dush
2004-11-26 15:42
2004.12.12
Объявление процедур


14-1100695078
ms
2004-11-17 15:37
2004.12.12
Помогите разобраться с VC++ .NET...


9-1092134680
Micah'GF
2004-08-10 14:44
2004.12.12
Фракталы