
Why does everyone want to make things so difficult?  Doing it this
way, the Splash pops up and stays up until the rest of the app is
initialized (with a minimum time set in the Splash form's
CloseQueary).  No muss, no fuss, no bother.

In the Splash form's unit ->
{----------------------------------------------------------}
PROCEDURE TSplash.FormCloseQuery(Sender: TObject;
                                 VAR CanClose: Boolean);
Begin
  REPEAT UNTIL GetTickCount-Start > 5000; {minimum time 5 seconds}
  CanClose := True;
end;

PROCEDURE TSplash.FormShow(Sender: TObject);
Begin
  Start := GetTickCount;  {Start is a CARDINAL variable in the
                           Private section of the Splash form}
End;

{---------------------------------------------------}

And in the .DPR ->

begin
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(TSplash, Splash);
  Splash.Show;
  Splash.Refresh;
  {any other forms to be created and other initialization
   stuff goes here}
  Splash.Close;
  Application.Run;
end.
{--------------------------------------------------}

This is the way I do it, and it works just fine.  My Splash form is
also my About Box, so I like it to be available throughout the life
of the app.

HTH

--
Daniel J. Wojcik
It looked so nice out this morning...
...I decided to leave it out all day!
--

