Sueffel,
I think you may be overlooking the "elegance" angle. The elegance of the
code isn't a side-effect of being "tricky" but rather of being plain and
obvious. And "reusability" is an added bonus
If you look at Trev's example... you can use it as a basic model regardless
of what you might need to do on startup. If you need a password screen that
can be inserted. Granted you can add a password to the main form but that
loads the main form before the password has been confirmed. A big deal?
Probably not but why load the main form if the password fails?
It can also run an app (a process perhaps) without a form at all. And it
can determine which of two (or more) forms to load depending upon a switch.
That switch can be provided on the command line or as a result of of the
password "clearance level" (or whatever else.)
If part of the "load any data needed" step checks to see if the system is
"down for maintenance" a small dialog form can be loaded to inform the
user... possibly in place of the login form. Again (of course) the main
form can handle this and everything else but I ask why put the burden there?
But it isn't these examples that make it elegant, it is the idea that so
many variations can be handled (including these) so elegantly that makes it
a good choice. I'll point out that in your followup message your main form
(I'm pretty certain) is given the responsibility for clearing the splash
screen. Not horrible but again, that doesn't happen in Trev's example and
as I point out... there may be a splash screen and (in the case of a server
app) no main screen.
Take another moment to review the concept and I think you'll Trev's solution
is very clear and to the point.
Tom