unit ScProgressFrm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TProgressFrm = class(TForm) ProgressBar: TProgressBar; lblMessage: TLabel; private { Private declarations } public { Public declarations } end; procedure ShowFloatProgress(Text: string; Position: Integer); procedure CloseFloatProgress; implementation {$R *.dfm} var ProgressFrm: TProgressFrm = nil; procedure ShowFloatProgress(Text: string; Position: Integer); begin if ProgressFrm = nil then ProgressFrm := TProgressFrm.Create(nil); ProgressFrm.lblMessage.Caption := Text; ProgressFrm.ProgressBar.Position := Position; ProgressFrm.Show; ProgressFrm.Update; end; procedure CloseFloatProgress; begin if ProgressFrm <> nil then FreeAndNil(ProgressFrm); end; end.