Главная страница
    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.039 c
14-1100806076
Игорь Шевченко
2004-11-18 22:27
2004.12.12
Перечитывая Таненбаума (задачка)


14-1100817875
Кто---то
2004-11-19 01:44
2004.12.12
Как пишут программы управляющие физическими устройствами ?


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


1-1101501257
alo
2004-11-26 23:34
2004.12.12
преобразование Variant в TGUID и наоборот


1-1101366227
Denmin
2004-11-25 10:03
2004.12.12
Как передать фокус из DBEdit на SpeedButton, из DBMemo в DBEdit ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский