Contributor: DANIEL J. WOJCIK 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! --