Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread Loading Forms - Data Aware
Fri, Nov 12 2010 10:21 AMPermanent Link

Sean McDermott

Forgive me for being a little off topic. DBISAM 4.3 D2009 Professional

When I start my program it processes it's splash screen showing load progress
but this little splash screen becomes half trashed for about 2 seconds where
you can see the splash screen and the underlying yet not quite populated
main form. In the end it doesn't look very professional. I have measured
load times on screens and all should be OK. I have also played with Enable
and Disable controls to save data aware slow ups but it still doesn't help.
I even enlarged the splash screen to the main form size to cover this
problem but it still doesn't hide enough. The data files are quite small
with maybe 300 records although one table does have 454 fields. Any ideas,
no matter how brief appreciated, thanks, Sean
Fri, Nov 12 2010 11:16 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Sean


Sounds as though the splash screen is being released to early and the main form isn't ready to update. There are various splash screen implementations out there that may be worth a look - I'm using Peter Below's threaded splash screen.

Roy Lambert
Fri, Nov 12 2010 11:31 AMPermanent Link

Sean McDermott

Roy Lambert wrote:

Sean


Sounds as though the splash screen is being released to early and the main form isn't ready to update. There are various splash screen implementations out there that may be worth a look - I'm using Peter Below's threaded splash screen.

Roy Lambert

Thanks Roy, I will check out your recommendation. I have the Splash Screen.hide and release just prior to the Run Application so thought that should be good enough. Cheers, Sean
Fri, Nov 12 2010 1:13 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Sean

>Thanks Roy, I will check out your recommendation. I have the Splash Screen.hide and release just prior to the Run Application so thought that should be good enough. Cheers, Sean

Just doing a quick test in D2006 it goes

 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
form1.OnCreate;
 Application.Run;
form1.onshow
form1.onactivate

So I would have thought you right but Delphi is sometimes a law to itself

Roy Lambert [Team Elevate]
Sat, Nov 13 2010 7:20 PMPermanent Link

Tony Pomfrett

This works for me:

begin
 frmSplash := TfrmSplash.Create(Application) ;
 frmSplash.Show;
 Application.Initialize;
 frmSplash.Update;
 Application.Title := 'My Application';
 Application.CreateForm(TDM, DM);
 frmSplash.Hide;
 frmSplash.Free;
 Application.Run;
end.

The datamodule DM does a lot of work, opening remote tables over the internet and and streaming lookup tables to the local computer. The splash screen has a progess bar which is updated with the progress of table copying operations. The main form is created as the last line of DM.Create.
Sun, Nov 14 2010 3:58 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tony

>The datamodule DM does a lot of work, opening remote tables over the internet and and streaming lookup tables to the local computer. The splash screen has a progess bar which is updated with the progress of table copying operations. The main form is created as the last line of DM.Create.

But DM is non-visual so there's no competition for updating the screen.

Roy Lambert [Team Elevate]
Image