home *** CD-ROM | disk | FTP | other *** search
/ Computerworld 1996 March / Computerworld_1996-03_cd.bin / idg_cd3 / utility / applau13 / launch.dpr < prev    next >
Text File  |  1996-02-14  |  2KB  |  79 lines

  1. program Launch;
  2.  
  3. uses
  4.   Forms,
  5.   SysUtils,
  6.   Main in 'MAIN.PAS' {MainForm},
  7.   Info in 'INFO.PAS' {InfoForm},
  8.   Splash in 'SPLASH.PAS' {SplashForm},
  9.   PrevInst in 'PREVINST.PAS',
  10.   About in 'ABOUT.PAS' {AboutForm},
  11.   Resource in 'RESOURCE.PAS' {ResourceForm};
  12.  
  13. {$R *.RES}
  14.  
  15. procedure CreateForms;
  16. begin
  17.   { This makes Delphi's automagic code editing features work a little better }
  18.   Application.CreateForm(TMainForm, MainForm);
  19.   Application.CreateForm(TResourceForm, ResourceForm);
  20.   Application.CreateForm(TInfoForm, InfoForm);
  21.   Application.CreateForm(TAboutForm, AboutForm);
  22. end;
  23.  
  24. var
  25.   StartTime  : TDateTime;
  26.   ShowSplash : Boolean;
  27.  
  28. begin
  29.   ShowSplash := not ((ParamCount = 1) and (LowerCase(ParamStr(1)) = '/nosplash'));
  30.  
  31.   { If there's another instance already running, activate that one and
  32.     terminate this one }
  33.   if HPrevInst <> 0 then begin
  34.     ActivatePreviousInstance;
  35.     Exit;
  36.   end;
  37.  
  38.   try
  39.     if ShowSplash then begin
  40.       { Create the splash screen }
  41.       SplashForm := TSplashForm.Create(Application);
  42.  
  43.       { Show (and force updating of) the splash screen }
  44.       SplashForm.Show;
  45.       SplashForm.Update;
  46.     end;
  47.  
  48.     { Create the forms }
  49.     CreateForms;
  50.  
  51.     if ShowSplash then begin
  52.       { Wait for a few seconds }
  53.       StartTime := Now;
  54.       repeat until Now-StartTime > 2.0/24.0/3600.0;
  55.  
  56.       { Hide the splash screen }
  57.       SplashForm.Hide;
  58.     end;
  59.  
  60.     { Position the resource form }
  61.     ResourceForm.Top := 0;
  62.     ResourceForm.Left := MainForm.Left+(MaxNrOfApps-3)*AppWidth;
  63.  
  64.     { Adjust the main form's size if the resources should be visible }
  65.     if MainForm.Toggle1.Checked then begin
  66.       MainForm.Width := MainForm.Width-3*AppWidth;
  67.       ResourceForm.Show;
  68.     end;
  69.  
  70.     { Run the application }
  71.     Application.Run;
  72.   finally
  73.     if ShowSplash then
  74.       { Free the splash screen }
  75.       SplashForm.Free;
  76.   end;
  77. end.
  78.  
  79.