program Project1;uses
Forms,windows ,
Unit1 in 'Unit1.pas' {Form1},
Flash in 'Flash.pas' {FlashForm};{$R *.res}
var FlashForm :TFlashForm;
begin
try
Application.CreateForm(TFlashForm, FlashForm);
Flashform.ShowModal ;
Sleep(2000) ;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
FlashForm.Close ;
finally
FlashForm.Free ;
end ;
Application.Run;
end.可是运行后 FlashForm根本不闪而且! Form1也不显示了 !这是怎么回事?
Forms,windows ,
Unit1 in 'Unit1.pas' {Form1},
Flash in 'Flash.pas' {FlashForm};{$R *.res}
var FlashForm :TFlashForm;
begin
try
Application.CreateForm(TFlashForm, FlashForm);
Flashform.ShowModal ;
Sleep(2000) ;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
FlashForm.Close ;
finally
FlashForm.Free ;
end ;
Application.Run;
end.可是运行后 FlashForm根本不闪而且! Form1也不显示了 !这是怎么回事?
try
FlashForm.showModal;
finally
FlashForm.free
end;
这句话提到程序开头!既然有了sleep(2000),就不需要 ShowModal 了,你这样一写的顺序,程序主窗口成了flashform,而不是你想要的form1了。程序段改为:
Application.Initialize;
try
Application.ShowMainForm:=false;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TFlashForm, FlashForm);
Flashform.Show;
Sleep(2000) ;
FlashForm.Close ;
finally
FlashForm.Free ;
end ;
Form1.show;
Application.Run;
var FlashForm :TFlashForm;
begin
try
Application.Initialize;
FlashForm := TFlashForm.Create(application);
Flashform.Show;
Flashform.Update;
Sleep(2000) ;
Application.CreateForm(TForm1, Form1);
FlashForm.Hide ;
finally
FlashForm.Free ;
end ;
Application.Run;
end.
var FlashForm :TFlashForm;
begin
try
Flashform:=TFlashform.create(nil);
Flashform.Show;
Sleep(2000) ;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
FlashForm.Close ;
finally
FlashForm.Free ;
end ;
Application.Run;
end.