unit Splash;
  (* See Tom Swan's Delphi 4 Bible, pages 110-115.  To use,
       1.  Add to project as NON-autocreated form.
       2.  Modify lbSplash & imgSplash as needed.
       3.  In DPR form, 
             RunOnlyOneInstance(xxx);
             fmSplash := tfmSplash.Create(Application);
             try
               fmSplash.Show;
               fmSplash.Update;
                 Application.Initialize;
               fmSplash.StatusUpdate('Creating data modules....');
                 Application.CreateForm(tdmAdvMaster, dmAdvMaster);
                 Application.CreateForm(tdmBoxes, dmBoxes);
               fmSplash.StatusUpdate('Creating autocreated forms....');
                 Application.CreateForm(tfmAddOrEditService, fmAddOrEditService)                       <CreateForm calls>
               fmSplash.Close
             finally
               fmSplash.Release
             end
         *)

  interface
    uses
      Classes,
      Controls,
      ExtCtrls (* tBevel, tImage *),
      Forms    (* tForm *),
      Graphics,
      StdCtrls (* tLabel *),
      Windows;

    type
      tfmSplash = class(tForm)
          bvSplash: tBevel;
          lbSplash: tLabel;
          lbStatus: tLabel;
          imgSplash: tImage;
        public
          procedure StatusUpdate(const S: string);
        end (* tfmSplash *);

    var
      fmSplash: tfmSplash;

  implementation

    {$R *.DFM}

    procedure tfmSplash.StatusUpdate(const S: string);
      (* Keep the user informed *)

      begin (* tfmSplash.StatusUpdate *)
        lbStatus.Caption := S;
        Update
      end   (* tfmSplash.StatusUpdate *);

end.
