Tecsitel_FactuGES2/Source/Base/ClassRegistry/uInformeRegistryUtils.pas
2007-09-12 14:11:44 +00:00

60 lines
1.4 KiB
ObjectPascal

unit uInformeRegistryUtils;
interface
uses
Classes, Forms, uClassRegistryUtils;
type
IInformeRegistry = interface (IReportRegistry)
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
function CreateInforme(const aClassOrDisplayname: String;
aOwner: TComponent = NIL): TInterfacedObject;
end;
TInformeRegistry = class(TReportRegistry, IInformeRegistry)
protected
function CreateInforme(const aClassOrDisplayname: String;
aOwner: TComponent = nil): TInterfacedObject;
end;
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
var
InformeRegistry : IInformeRegistry;
implementation
uses
SysUtils, cxControls;
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
begin
ShowHourglassCursor;
try
Result := Supports(InformeRegistry.CreateInforme(AName, Application), IID, Intf);
finally
HideHourglassCursor;
end;
end;
{ TInformeRegistry }
function TInformeRegistry.CreateInforme(const aClassOrDisplayname: String;
aOwner: TComponent): TInterfacedObject;
begin
if not Assigned(AOwner) then
AOwner := Application;
Result := CreateObject( aClassOrDisplayname) as TInterfacedObject;
end;
initialization
InformeRegistry := TInformeRegistry.Create;
finalization
InformeRegistry := NIL;
end.