在project里面添加代码,确保form2不在project->option->form2->auto-create里面
program Project1;uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
  Application.Initialize;
  form2:=tform2.Create(application);
  form2.show;
  form2.Update;
  while  form2.Timer1.enabled do
     application.ProcessMessages ;
  Application.CreateForm(TForm1, Form1);
  form2.Hide;
  form2.Free;
  Application.Run;
end.

解决方案 »

  1.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};
      ....{$R *.res}begin
    //form1是主窗体
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      form1.hide;
      Application.CreateForm(t闪烁窗体, 闪烁窗体);
      闪烁窗体.show
      ....
      闪烁窗体.close;
      form1.show;
      Application.Run;
    end.
      

  2.   

    好象有一个API函数也可以实现吧,名字好象是flashwindow()
      

  3.   

    保证你可以: 
      Application.Initialize;
      Application.CreateForm(tfresh, fresh);
      fresh.show
      fresh.refresh;
      Application.CreateForm(TForm1, Form1);
      fresh.hide;
      fresh.free;
      Application.Run;
      

  4.   

    最好办了:1.欢迎窗体中放一个定时器,在OnTimer中关闭窗体。
    2.在主窗体的FormShow事件中创建欢迎窗体,然后ShowModal它。
      

  5.   

    >>好象有一个API函数也可以实现吧,名字好象是flashwindow()
    人家说的是软件运行时的封面,就像delphi那样启动的时候显示一张图。
      

  6.   

    wyj1974(迷茫的帅哥) 说得好像不行,只是一闪就消失了,而且主窗体也没有显示.
      

  7.   

    改用如下语句:
    fresh:= tfresh.Create(application);
    另外你可在fresh中设置一延迟。
    有问题在提。
    祝好运!
      

  8.   

    如果你不喜欢用timer,可以这样延时
    procedure Delay(msecs:integer);
    var
      FirstTickCount:longint;begin  FirstTickCount:=GetTickCount;
      repeat
        Application.ProcessMessages;
      until ((GetTickCount-FirstTickCount) >= Longint(msecs));
    end;