unit uDAPleaseWaitForm; {----------------------------------------------------------------------------} { Data Abstract Library - Core Library } { } { compiler: Delphi 6 and up, Kylix 3 and up } { platform: Win32, Linux } { } { (c)opyright RemObjects Software. all rights reserved. } { } { Using this code requires a valid license of the Data Abstract } { which can be obtained at http://www.remobjects.com. } {----------------------------------------------------------------------------} {$I DataAbstract.inc} interface uses {$IFDEF FPC}LResources,{$ENDIF} {$IFDEF MSWINDOWS}uROPleaseWaitForm,{$ENDIF} {$IFDEF LINUX}uROPleaseWaitForm_Kylix,{$ENDIF} Classes; type IROPleaseWaitForm = interface ['{32003A95-B7F4-4ED6-B65E-78B4204DF2AF}'] procedure Show(const iCaption:string=''); overload; procedure Hide; procedure Free; end; function CreatePleaseWaitForm(aOwner: TComponent; const aCaption: string; aShow: boolean; aLogo:string; aWindowCaption:string=''): IROPleaseWaitForm; overload; function CreatePleaseWaitForm(aOwner: TComponent; const aCaption: string; aShow: boolean = true): IROPleaseWaitForm; overload; function CreatePleaseWaitForm(const aCaption: string; aShow: boolean = true): IROPleaseWaitForm; overload; implementation uses {$IFDEF MSWINDOWS}Graphics, {$ENDIF} {$IFDEF LINUX}QGraphics, {$ENDIF} SysUtils; {$IFNDEF FPC} {$IFDEF MSWINDOWS} {$R IDE\DataAbstract_IDE_AdditionalResources.res} {$ENDIF} {$IFDEF LINUX} {$R IDE/DataAbstract_IDE_AdditionalResources.res} {$ENDIF} {$ENDIF FPC} type TROPleaseWaitFormWrapper = class(TInterfacedObject, IROPleaseWaitForm) private fForm: TPleaseWaitForm; public constructor Create(aForm: TPleaseWaitForm); destructor Destroy; override; procedure Show(const iCaption:string=''); overload; procedure Hide; procedure Free; end; function CreatePleaseWaitForm(aOwner: TComponent; const aCaption: string; aShow: boolean; aLogo:string; aWindowCaption:string): IROPleaseWaitForm; overload; var lBitmap: TBitmap; begin if aWindowCaption = '' then aWindowCaption := 'Data Abstract'; lBitmap := TBitmap.Create(); lBitmap.LoadFromResourceName(hInstance, aLogo); result := TROPleaseWaitFormWrapper.Create(TPleaseWaitForm.Create(aOwner, aCaption, aWindowCaption, lBitmap, true)); if aShow then result.Show(); end; function CreatePleaseWaitForm(aOwner: TComponent; const aCaption: string; aShow: boolean = true): IROPleaseWaitForm; begin result := CreatePleaseWaitForm(aOWner, aCaption, aShow, 'dalogo'); end; function CreatePleaseWaitForm(const aCaption: string; aShow: boolean = true): IROPleaseWaitForm; begin result := CreatePleaseWaitForm(nil, aCaption, aShow); end; { TROPleaseWaitFormWrapper } constructor TROPleaseWaitFormWrapper.Create(aForm: TPleaseWaitForm); begin fForm := aForm; end; destructor TROPleaseWaitFormWrapper.Destroy; begin FreeAndNil(fForm); inherited; end; procedure TROPleaseWaitFormWrapper.Free; begin { no-op } end; procedure TROPleaseWaitFormWrapper.Hide; begin fForm.Hide(); end; procedure TROPleaseWaitFormWrapper.Show(const iCaption: string=''); begin fForm.Show(iCaption); end; {$IFDEF FPC} initialization {$I IDE/DataAbstract_IDE_AdditionalResources.lrs} {$ENDIF} end.