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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
3-1099041934
stud
2004-10-29 13:25
2004.12.12
dbchart delphi7


14-1101317048
YurikGL
2004-11-24 20:24
2004.12.12
Компьютером можно управлять взглядом.


1-1101738973
Гриша
2004-11-29 17:36
2004.12.12
мемо


1-1101489554
Frozzen
2004-11-26 20:19
2004.12.12
Работа с MemProof


1-1101781291
dolphin
2004-11-30 05:21
2004.12.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский