unit uSplash; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, JvGIF, StdCtrls, uFactuGES_App; type TSplashScreen = class(TForm) Panel1: TPanel; lblTexto: TLabel; Image2: TImage; procedure FormClose(Sender: TObject; var Action: TCloseAction); end; TAppSplashForm = class(TInterfacedObject, IAppSplashForm) private FSplashScreen: TSplashScreen; function GetMensaje: String; procedure SetMensaje(const AMensaje : String); public constructor Create; destructor Destroy; override; procedure Show; procedure Hide; procedure Update; property Mensaje : String read GetMensaje write SetMensaje; end; implementation {$R *.dfm} { TAppSplash } constructor TAppSplashForm.Create; begin FSplashScreen := TSplashScreen.Create(NIL) end; destructor TAppSplashForm.Destroy; begin FSplashScreen.Release; inherited; end; function TAppSplashForm.GetMensaje: String; begin FSplashScreen.lblTexto.Caption; end; procedure TAppSplashForm.Hide; begin FSplashScreen.Hide; end; procedure TAppSplashForm.SetMensaje(const AMensaje: String); begin FSplashScreen.lblTexto.Caption := AMensaje; end; procedure TAppSplashForm.Show; begin FSplashScreen.Show; end; procedure TAppSplashForm.Update; begin FSplashScreen.Update; end; procedure TSplashScreen.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; end.