When you are creating a splash screen you probably want it to show up as soon as possible. I have seen source codes where the splash screen has been shown on the main form’s OnCreate event and closed on its OnShow event. Well, this is not acceptable. Why? Because the splash screen is only shown for a very short period of time. Well, some come up with the idea to put a TTimer on the splash screen… I don’t suggest making the user wait until the splash screen goes away while being able to see the program already “waiting” behind. Aslo, you want to free the splashform after closing it because there is no use of keeping it in the memory since anyway its not going to be used. The solution to this is quite simple. Create the splashform first and release it last. But how? If we set the splashform to be the first created form it automitaclly becomes the main form. Then we have problems. We can’t even close it, because this will close the application itself. Well, there is a way around to this. All we have to do is create it manually. Here is a sample code:
{ Project source file }
...
uses
Splash; { The unit with the splash screen }
...
var
SplashScreen: TSplashScreen; { In the Splash unit }
...
begin
try
SplashScreen := TSplashScreen.Create(Application);
with SplashScreen do begin
Show;
Update; { To paint the splash screen }
end;
Application.CreateForm(TForm1, Form1);
(* Create other forms or any other processing before the
** application is to be opened
*)
SplashScreen.Close;
finally { Make sure the splash screen gets released }
SplashScreen.Free;
end;
Application.Run;
end.
Tags: ani, application, code, coding, create, creating, file, files, final, form, forms, free, get, make, manually, memory, open, period, process, program, programming, project, screen, set, show, source, sources, splash, time, use
Merlin’s Delphi Forge
Leave a comment