I suggest that you use frmSplash.Release instead of Free. You can still set
frmSplash := nil immediately afterwards, as this is just a pointer to the
form object.
What I do is define a custom message and post that to myself when the main
form is about to be displayed (FormShow). When I receive that message, the
main form should be visible, so I can get rid of the splash form. May be
overkill.
const
WM_NOWVISIBLE = WM_USER + 200;
...
type
TMyMainForm = class(TForm)
private
procedure WMNowVisible(var Msg : TMessage); message WM_NOWVISIBLE;
...
end
procedure TMyMainForm.FormShow(Sender: TObject);
begin
...
PostMessage(Handle,WM_NOWVISIBLE,0,0);
end;
procedure TMyMainForm.WMNowVisible(var Msg : TMessage);
begin
frmSplash.Close;
frmSplash.Release;
frmSplash := Nil;
end;
I also tried Rohit's comment about inserting an exception. I placed a raise
Exception.Create('blah') after the Application.CreateForm of the main form,
but before Application.Run. Sure enough, I got a run-on AV exception. Then I
removed the splash dialog code and tried again. Still got a run-on AV
exception. Seems the moral of the story is - make sure you don't get an
exception there!
Cheers,
Andrew Cooke
> -----Original Message-----
> From: Marshall, Paul [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, June 11, 1999 6:54 AM
> To: Multiple recipients of list delphi
> Subject: RE: [DUG]: Welcome image
>
> In my application, the main form's OnShow method looks like this:
>
> procedure TfrmMain.FormShow(Sender: TObject);
> begin
> try
>
> [...form initialisation code here...]
>
> finally
> frmSplash.Close;
> frmSplash.Free;
> frmSplash := nil;
> end;
> end; { FormShow }
>
> (but take note of Rohit's remark re. the stability of this solution!)
>
> Regards, Paul.
>
> > -----Original Message-----
> > From: Juan Manuel Gomez Ramos [SMTP:[EMAIL PROTECTED]]
> > Sent: Friday, June 11, 1999 4:40 AM
> > To: Multiple recipients of list delphi
> > Subject: RE: [DUG]: Welcome image
> >
> > Paul:
> >
> > I tried the code but, where should I free/close the frmSplash form? I
> > use this to show the user a "Loading data..." message while the app
> delays
> > opening tables in it's OnCreate event handler.
> >
> > Juan Manuel Gomez Ramos
> > Computer Science student at Havana University
> > email:<[EMAIL PROTECTED]>
> > <[EMAIL PROTECTED]>
> > eFax:(707) 313-0329
> > internet:http://cronos.freeservers.com
> >
> > Hope is faith holding out its hand in the dark.
> >
> > On Thu, 10 Jun 1999, Marshall, Paul wrote:
> >
> > > If you edit the project's DPR file thus, frmSplash will appear while
> the
> > > application is creating the other forms. You will need to Close and
> Free
> > > frmSplash (and set it to nil) at the end of your main form's FormShow
> > > method.
> > >
> > > Application.Initialize;
> > > frmSplash := TfrmSplash.Create(Application);
> > > try
> > > frmSplash.Show;
> > > frmSplash.Update;
> > >
> > > Application.CreateForm(...
> > > Application.CreateForm(...
> > >
> > > Application.Run;
> > > finally
> > > if Assigned(frmSplash)
> > > then frmSplash.Free;
> > > { frmSplash will normally have been freed already }
> > > end;
> > >
> > >
> > > > -----Original Message-----
> > > > From: Juan Manuel Gomez Ramos [SMTP:[EMAIL PROTECTED]]
> > > > Sent: Thursday, June 10, 1999 12:36 AM
> > > > To: Multiple recipients of list delphi
> > > > Subject: [DUG]: Welcome image
> > > >
> > > > How does Delphi shows a welcome image/window while openning its
> main
> > > > window?
> > > >
> > > > Juan Manuel Gomez Ramos
> > > > Computer Science student at Havana University
> > > > email:<[EMAIL PROTECTED]>
> > > > <[EMAIL PROTECTED]>
> > > > eFax:(707) 313-0329
> > > > internet:http://cronos.freeservers.com
> > > >
> > > > Hope is faith holding out its hand in the dark.
> > > >
> > > >
> >
> --------------------------------------------------------------------------
> > > > -
> > > > New Zealand Delphi Users group - Delphi List -
> > [EMAIL PROTECTED]
> > > > Website: http://www.delphi.org.nz
> > >
> >
> --------------------------------------------------------------------------
> > -
> > > New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> > > Website: http://www.delphi.org.nz
> > >
> >
> >
> --------------------------------------------------------------------------
> > -
> > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> > Website: http://www.delphi.org.nz
> --------------------------------------------------------------------------
> -
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz