现在我们经常使用的各种软件,都是打开后,就显示一个小画面关于软件的一些基本信息,然后一闪而过,进入登陆界面,我现在对这方面不是特别熟,我也做了一下,
在第一个窗体中我加入了一个TIMER控件,代码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.hide;
form2.Show;
timer1.Enabled :=false;
end;end.
如果把FORM1.HIDE改成FORM1.CLOSE,为什么就不行了呢????
如果窗体隐藏的话,是不是会占用内存,

解决方案 »

  1.   

    一般登陆等待界面是后台有进程处理的时候才需要的,比如从数据库中调入数据,需要等待很长时间,这样才需要一个等待界面,而且一般都用进度条表示登陆进程处理的进度.
    Form1.close以后Form2.Show这条语句就不执行了.
      

  2.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2},
      SysUtils;
    {$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      form2.Show;
      sleep(1000);
      form2.Close;
      Application.Run;
    end.
      

  3.   

    因为在你的工程中form1是主窗体,所以一旦你form1.close的话,就把所有的窗体都关闭了。
      

  4.   

    新建一个form,name为myspashform
    在主窗体create事件中写
    try
      myspashform:=Tmyspashform.create(self)
      myspashform.showmodel;
    finally
      freeandnil(myspashform);
    end;
    在myspashform放一个时钟,设置时间,当到了关闭的时间,关闭myspashform
      

  5.   

    我建议上面的那个例子中不要用Application.CreateForm函数来创建窗体!因为这样第一个被创建的窗体将是主窗体,如果主窗体中的东西很多而且要是再加上个连接后台数据库,等显示出来闪窗时其实很多后台工作都已经完成了,就没有使用闪窗的必要了!用sleep函数做延时我不建议使用,因为启动主窗口使用的时间越短越好,这样用户不会反感!你们看这样写如何?请各位大师们多多指教.program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2},
      SysUtils;
    {$R *.res}begin
      Application.Initialize;
      Form2 := TForm2.Create(Application);
      Form2.Show;
      Form2.Update;
      Application.CreateForm(TForm1, Form1);
      Form2.Close;
      Application.Run;
    end.
      

  6.   

    建一个启动封面窗体,假设为Form2,先设置好BorderIcons、BorderStyle、FormStyle、Position,接着在窗体上加入图片框、文本框,设置好后在菜单里选Project里的Options,把Form2从Auto-create forms里转到Available forms。再接着就是按Ctrl+F12键,选Project1,出现工程单元,其内容如下
    ...
    Application.CreateForm(TForm1, Form1);
    Application.Run;
    ..
      在Application.CreateForm(TForm1, Form1); 前加入如下语句:
    form2:=tform2.create(application);
    form2.Show;
    form2.Update;
      然后在Application.Run;前面加入如下语句:
    form2.hide;
    form2.free;