unit zCube_TLB;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// PASTLWTR : $Revision:   1.130  $
// File generated on 06.08.2002 13:50:56 from Type Library described below.

// ************************************************************************  //
// Type Lib: D:\AZ\WORK\OLAPCube\PROFI\zCube.tlb (1)
// LIBID: {6117F200-E519-11D5-8C4C-E9A23D825038}
// LCID: 0
// Helpfile: 
// DepndLst: 
//   (1) v2.0 stdole, (D:\WINNT\System32\stdole2.tlb)
//   (2) v4.0 StdVCL, (D:\WINNT\System32\stdvcl40.dll)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}

interface

uses ActiveX, Classes, Graphics, StdVCL, Variants, Windows;
  

// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  zCubeMajorVersion = 3;
  zCubeMinorVersion = 0;

  LIBID_zCube: TGUID = '{6117F200-E519-11D5-8C4C-E9A23D825038}';

  IID_ICube: TGUID = '{6117F201-E519-11D5-8C4C-E9A23D825038}';
  CLASS_Cube: TGUID = '{6117F203-E519-11D5-8C4C-E9A23D825038}';
  IID_IDimension: TGUID = '{C23A4600-7D21-11D6-98D4-A1225F7BC425}';
  CLASS_Dimension: TGUID = '{C23A4602-7D21-11D6-98D4-A1225F7BC425}';
  IID_ICell: TGUID = '{55AFFCEB-7E62-11D6-98D4-87EA5143E325}';
  CLASS_Cell: TGUID = '{55AFFCED-7E62-11D6-98D4-87EA5143E325}';
  IID_IMap: TGUID = '{55AFFCF6-7E62-11D6-98D4-87EA5143E325}';
  CLASS_Map: TGUID = '{55AFFCF8-7E62-11D6-98D4-87EA5143E325}';
  IID_IDimensionItem: TGUID = '{55AFFD0B-7E62-11D6-98D4-87EA5143E325}';
  CLASS_DimensionItem: TGUID = '{55AFFD0D-7E62-11D6-98D4-87EA5143E325}';
  IID_IMeasure: TGUID = '{55AFFD16-7E62-11D6-98D4-87EA5143E325}';
  CLASS_Measure: TGUID = '{55AFFD18-7E62-11D6-98D4-87EA5143E325}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                    
// *********************************************************************//
// Constants for enum TMapPosition
type
  TMapPosition = TOleEnum;
const
  maSingle = $00000000;
  maTop = $00000001;
  maBottom = $00000002;
  maPosition = $00000003;

// Constants for enum TMeasureType
type
  TMeasureType = TOleEnum;
const
  mtSumma = $00000002;
  mtCount = $00000004;
  mtAverage = $00000008;

// Constants for enum DateBoundType
type
  DateBoundType = TOleEnum;
const
  dbtNoBound = $00000000;
  dbtMonth = $00000002;
  dbtYear = $00000004;

// Constants for enum TDateWrapType
type
  TDateWrapType = TOleEnum;
const
  wtWeeks = $00000008;
  wtMonths = $00000004;
  wtYears = $00000002;
  wtDays = $00000010;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
  ICube = interface;
  ICubeDisp = dispinterface;
  IDimension = interface;
  IDimensionDisp = dispinterface;
  ICell = interface;
  ICellDisp = dispinterface;
  IMap = interface;
  IMapDisp = dispinterface;
  IDimensionItem = interface;
  IDimensionItemDisp = dispinterface;
  IMeasure = interface;
  IMeasureDisp = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
// *********************************************************************//
  Cube = ICube;
  Dimension = IDimension;
  Cell = ICell;
  Map = IMap;
  DimensionItem = IDimensionItem;
  Measure = IMeasure;


// *********************************************************************//
// Interface: ICube
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6117F201-E519-11D5-8C4C-E9A23D825038}
// *********************************************************************//
  ICube = interface(IDispatch)
    ['{6117F201-E519-11D5-8C4C-E9A23D825038}']
    procedure SetAlias(const Name: WideString; const UserName: WideString; 
                       const Password: WideString); safecall;
    procedure SetTableName(const Name: WideString; isSQL: WordBool); safecall;
    procedure AddMeasure(const Alias: WideString; const FieldName: WideString; Measure: TMeasureType); safecall;
    procedure CreateCube(var RecCount: Integer); safecall;
    function  Get_CubeLength: Integer; safecall;
    function  Get_Measure(Index: Integer): IMeasure; safecall;
    function  Get_DimensionCount: Integer; safecall;
    function  Get_MeasureCount: Integer; safecall;
    procedure InitMonitor(const Param1: IDispatch); safecall;
    function  Get_Dimension(Index: Integer): IDimension; safecall;
    procedure GetData(mask: OleVariant; var cellvalue: OleVariant); safecall;
    procedure AddDimension(const AliasName: WideString; const FieldName: WideString; 
                           const TableName: WideString; const KeyField: WideString; 
                           const LookupField: WideString; const MasterTable: WideString; 
                           WrapList: Integer); safecall;
    function  Get_Name: WideString; safecall;
    procedure Set_Name(const Value: WideString); safecall;
    procedure GetSavedCubesList(out List: IStrings); safecall;
    procedure Load(const FileName: WideString); safecall;
    procedure Save(const Name: WideString); safecall;
    property CubeLength: Integer read Get_CubeLength;
    property Measure[Index: Integer]: IMeasure read Get_Measure;
    property DimensionCount: Integer read Get_DimensionCount;
    property MeasureCount: Integer read Get_MeasureCount;
    property Dimension[Index: Integer]: IDimension read Get_Dimension;
    property Name: WideString read Get_Name write Set_Name;
  end;

// *********************************************************************//
// DispIntf:  ICubeDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6117F201-E519-11D5-8C4C-E9A23D825038}
// *********************************************************************//
  ICubeDisp = dispinterface
    ['{6117F201-E519-11D5-8C4C-E9A23D825038}']
    procedure SetAlias(const Name: WideString; const UserName: WideString; 
                       const Password: WideString); dispid 1;
    procedure SetTableName(const Name: WideString; isSQL: WordBool); dispid 2;
    procedure AddMeasure(const Alias: WideString; const FieldName: WideString; Measure: TMeasureType); dispid 4;
    procedure CreateCube(var RecCount: Integer); dispid 7;
    property CubeLength: Integer readonly dispid 22;
    property Measure[Index: Integer]: IMeasure readonly dispid 25;
    property DimensionCount: Integer readonly dispid 26;
    property MeasureCount: Integer readonly dispid 27;
    procedure InitMonitor(const Param1: IDispatch); dispid 24;
    property Dimension[Index: Integer]: IDimension readonly dispid 39;
    procedure GetData(mask: OleVariant; var cellvalue: OleVariant); dispid 28;
    procedure AddDimension(const AliasName: WideString; const FieldName: WideString; 
                           const TableName: WideString; const KeyField: WideString; 
                           const LookupField: WideString; const MasterTable: WideString; 
                           WrapList: Integer); dispid 3;
    property Name: WideString dispid 5;
    procedure GetSavedCubesList(out List: IStrings); dispid 6;
    procedure Load(const FileName: WideString); dispid 8;
    procedure Save(const Name: WideString); dispid 9;
  end;

// *********************************************************************//
// Interface: IDimension
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C23A4600-7D21-11D6-98D4-A1225F7BC425}
// *********************************************************************//
  IDimension = interface(IDispatch)
    ['{C23A4600-7D21-11D6-98D4-A1225F7BC425}']
    function  Get_FieldName: WideString; safecall;
    procedure Set_FieldName(const Value: WideString); safecall;
    function  Get_TableName: WideString; safecall;
    procedure Set_TableName(const Value: WideString); safecall;
    function  Get_KeyField: WideString; safecall;
    procedure Set_KeyField(const Value: WideString); safecall;
    function  Get_LookupField: WideString; safecall;
    procedure Set_LookupField(const Value: WideString); safecall;
    function  Get_MasterTable: WideString; safecall;
    procedure Set_MasterTable(const Value: WideString); safecall;
    function  Get_Items(Index: Integer): IDimensionItem; safecall;
    function  Get_Count: Integer; safecall;
    procedure AddKey(const Item: IDimensionItem); safecall;
    function  Get_WrapType: Integer; safecall;
    procedure Set_WrapType(Value: Integer); safecall;
    function  Get_Alias: WideString; safecall;
    procedure Set_Alias(const Value: WideString); safecall;
    property FieldName: WideString read Get_FieldName write Set_FieldName;
    property TableName: WideString read Get_TableName write Set_TableName;
    property KeyField: WideString read Get_KeyField write Set_KeyField;
    property LookupField: WideString read Get_LookupField write Set_LookupField;
    property MasterTable: WideString read Get_MasterTable write Set_MasterTable;
    property Items[Index: Integer]: IDimensionItem read Get_Items;
    property Count: Integer read Get_Count;
    property WrapType: Integer read Get_WrapType write Set_WrapType;
    property Alias: WideString read Get_Alias write Set_Alias;
  end;

// *********************************************************************//
// DispIntf:  IDimensionDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C23A4600-7D21-11D6-98D4-A1225F7BC425}
// *********************************************************************//
  IDimensionDisp = dispinterface
    ['{C23A4600-7D21-11D6-98D4-A1225F7BC425}']
    property FieldName: WideString dispid 1;
    property TableName: WideString dispid 2;
    property KeyField: WideString dispid 3;
    property LookupField: WideString dispid 4;
    property MasterTable: WideString dispid 5;
    property Items[Index: Integer]: IDimensionItem readonly dispid 6;
    property Count: Integer readonly dispid 7;
    procedure AddKey(const Item: IDimensionItem); dispid 8;
    property WrapType: Integer dispid 9;
    property Alias: WideString dispid 10;
  end;

// *********************************************************************//
// Interface: ICell
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFCEB-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  ICell = interface(IDispatch)
    ['{55AFFCEB-7E62-11D6-98D4-87EA5143E325}']
    function  Get_Value: OleVariant; safecall;
    procedure Set_Value(Value: OleVariant); safecall;
    function  Get_Caption: WideString; safecall;
    procedure Set_Caption(const Value: WideString); safecall;
    function  Get_Owner: ICell; safecall;
    procedure Set_Owner(const Value: ICell); safecall;
    function  Get_Level: Integer; safecall;
    procedure Set_Level(Value: Integer); safecall;
    function  Get_Collapsed: WordBool; safecall;
    procedure Set_Collapsed(Value: WordBool); safecall;
    function  Get_Empty: WordBool; safecall;
    procedure Set_Empty(Value: WordBool); safecall;
    function  Get_Visible: WordBool; safecall;
    procedure Set_Visible(Value: WordBool); safecall;
    function  Get_Index: Integer; safecall;
    procedure Set_Index(Value: Integer); safecall;
    function  Get_ChildCount: Integer; safecall;
    function  Get_Dimension: IDimension; safecall;
    procedure Set_Dimension(const Value: IDimension); safecall;
    procedure AddChild(const NewChild: ICell); safecall;
    function  Get_Childs(Index: Integer): ICell; safecall;
    procedure Set_HideEmpty(Param1: WordBool); safecall;
    function  Get_Wrapped: WordBool; safecall;
    procedure Set_Wrapped(Value: WordBool); safecall;
    function  Get_Expandable: WordBool; safecall;
    function  Get_Wrapable: WordBool; safecall;
    procedure Set_Wrapable(Value: WordBool); safecall;
    property Value: OleVariant read Get_Value write Set_Value;
    property Caption: WideString read Get_Caption write Set_Caption;
    property Owner: ICell read Get_Owner write Set_Owner;
    property Level: Integer read Get_Level write Set_Level;
    property Collapsed: WordBool read Get_Collapsed write Set_Collapsed;
    property Empty: WordBool read Get_Empty write Set_Empty;
    property Visible: WordBool read Get_Visible write Set_Visible;
    property Index: Integer read Get_Index write Set_Index;
    property ChildCount: Integer read Get_ChildCount;
    property Dimension: IDimension read Get_Dimension write Set_Dimension;
    property Childs[Index: Integer]: ICell read Get_Childs;
    property HideEmpty: WordBool write Set_HideEmpty;
    property Wrapped: WordBool read Get_Wrapped write Set_Wrapped;
    property Expandable: WordBool read Get_Expandable;
    property Wrapable: WordBool read Get_Wrapable write Set_Wrapable;
  end;

// *********************************************************************//
// DispIntf:  ICellDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFCEB-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  ICellDisp = dispinterface
    ['{55AFFCEB-7E62-11D6-98D4-87EA5143E325}']
    property Value: OleVariant dispid 1;
    property Caption: WideString dispid 2;
    property Owner: ICell dispid 3;
    property Level: Integer dispid 4;
    property Collapsed: WordBool dispid 8;
    property Empty: WordBool dispid 9;
    property Visible: WordBool dispid 10;
    property Index: Integer dispid 12;
    property ChildCount: Integer readonly dispid 13;
    property Dimension: IDimension dispid 5;
    procedure AddChild(const NewChild: ICell); dispid 6;
    property Childs[Index: Integer]: ICell readonly dispid 7;
    property HideEmpty: WordBool writeonly dispid 11;
    property Wrapped: WordBool dispid 14;
    property Expandable: WordBool readonly dispid 15;
    property Wrapable: WordBool dispid 16;
  end;

// *********************************************************************//
// Interface: IMap
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFCF6-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IMap = interface(IDispatch)
    ['{55AFFCF6-7E62-11D6-98D4-87EA5143E325}']
    procedure Clear; safecall;
    procedure Build(HideEmptyColumns: WordBool; HideEmptyRows: WordBool); safecall;
    function  Get_Cells(Column: Integer; Row: Integer; Measure: Integer): Double; safecall;
    function  Get_ColumnDimensions(Index: Integer): IDimension; safecall;
    function  Get_RowDimensions(Index: Integer): IDimension; safecall;
    function  Get_ColumnDimCount: Integer; safecall;
    function  Get_RowDimCount: Integer; safecall;
    procedure DimensionToRow(const DimensionName: WideString; at: TMapPosition; Position: Integer); safecall;
    procedure DimensionToColumn(const DimensionName: WideString; at: TMapPosition; Position: Integer); safecall;
    procedure RemoveFromColumns(const DimensionName: WideString); safecall;
    procedure RemoveFromRows(const DimensionName: WideString); safecall;
    function  Get_Columns(Index: Integer): ICell; safecall;
    function  Get_Rows(Index: Integer): ICell; safecall;
    procedure CollapseColumn(Column: Integer); safecall;
    procedure CollapseRow(Row: Integer); safecall;
    procedure ExpandColumn(Column: Integer); safecall;
    procedure ExpandRow(Row: Integer); safecall;
    function  Get_ColumnsCount: Integer; safecall;
    function  Get_RowsCount: Integer; safecall;
    function  Get_ColumnLevelCount: Integer; safecall;
    function  Get_RowLevelCount: Integer; safecall;
    procedure WrapDateCell(isColumn: WordBool; CellIndex: Integer); safecall;
    function  Get_Cube: ICube; safecall;
    procedure Set_Cube(const Value: ICube); safecall;
    property Cells[Column: Integer; Row: Integer; Measure: Integer]: Double read Get_Cells;
    property ColumnDimensions[Index: Integer]: IDimension read Get_ColumnDimensions;
    property RowDimensions[Index: Integer]: IDimension read Get_RowDimensions;
    property ColumnDimCount: Integer read Get_ColumnDimCount;
    property RowDimCount: Integer read Get_RowDimCount;
    property Columns[Index: Integer]: ICell read Get_Columns;
    property Rows[Index: Integer]: ICell read Get_Rows;
    property ColumnsCount: Integer read Get_ColumnsCount;
    property RowsCount: Integer read Get_RowsCount;
    property ColumnLevelCount: Integer read Get_ColumnLevelCount;
    property RowLevelCount: Integer read Get_RowLevelCount;
    property Cube: ICube read Get_Cube write Set_Cube;
  end;

// *********************************************************************//
// DispIntf:  IMapDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFCF6-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IMapDisp = dispinterface
    ['{55AFFCF6-7E62-11D6-98D4-87EA5143E325}']
    procedure Clear; dispid 1;
    procedure Build(HideEmptyColumns: WordBool; HideEmptyRows: WordBool); dispid 2;
    property Cells[Column: Integer; Row: Integer; Measure: Integer]: Double readonly dispid 5;
    property ColumnDimensions[Index: Integer]: IDimension readonly dispid 7;
    property RowDimensions[Index: Integer]: IDimension readonly dispid 8;
    property ColumnDimCount: Integer readonly dispid 9;
    property RowDimCount: Integer readonly dispid 10;
    procedure DimensionToRow(const DimensionName: WideString; at: TMapPosition; Position: Integer); dispid 12;
    procedure DimensionToColumn(const DimensionName: WideString; at: TMapPosition; Position: Integer); dispid 13;
    procedure RemoveFromColumns(const DimensionName: WideString); dispid 14;
    procedure RemoveFromRows(const DimensionName: WideString); dispid 15;
    property Columns[Index: Integer]: ICell readonly dispid 3;
    property Rows[Index: Integer]: ICell readonly dispid 4;
    procedure CollapseColumn(Column: Integer); dispid 11;
    procedure CollapseRow(Row: Integer); dispid 16;
    procedure ExpandColumn(Column: Integer); dispid 17;
    procedure ExpandRow(Row: Integer); dispid 18;
    property ColumnsCount: Integer readonly dispid 19;
    property RowsCount: Integer readonly dispid 20;
    property ColumnLevelCount: Integer readonly dispid 21;
    property RowLevelCount: Integer readonly dispid 22;
    procedure WrapDateCell(isColumn: WordBool; CellIndex: Integer); dispid 23;
    property Cube: ICube dispid 26;
  end;

// *********************************************************************//
// Interface: IDimensionItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFD0B-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IDimensionItem = interface(IDispatch)
    ['{55AFFD0B-7E62-11D6-98D4-87EA5143E325}']
    function  Get_Value: WideString; safecall;
    procedure Set_Value(const Value: WideString); safecall;
    function  Get_id: Integer; safecall;
    procedure Set_id(Value: Integer); safecall;
    property Value: WideString read Get_Value write Set_Value;
    property id: Integer read Get_id write Set_id;
  end;

// *********************************************************************//
// DispIntf:  IDimensionItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFD0B-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IDimensionItemDisp = dispinterface
    ['{55AFFD0B-7E62-11D6-98D4-87EA5143E325}']
    property Value: WideString dispid 1;
    property id: Integer dispid 2;
  end;

// *********************************************************************//
// Interface: IMeasure
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFD16-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IMeasure = interface(IDispatch)
    ['{55AFFD16-7E62-11D6-98D4-87EA5143E325}']
    function  Get_Name: WideString; safecall;
    procedure Set_Name(const Value: WideString); safecall;
    function  Get_FieldName: WideString; safecall;
    procedure Set_FieldName(const Value: WideString); safecall;
    function  Get_mType: TMeasureType; safecall;
    procedure Set_mType(Value: TMeasureType); safecall;
    property Name: WideString read Get_Name write Set_Name;
    property FieldName: WideString read Get_FieldName write Set_FieldName;
    property mType: TMeasureType read Get_mType write Set_mType;
  end;

// *********************************************************************//
// DispIntf:  IMeasureDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {55AFFD16-7E62-11D6-98D4-87EA5143E325}
// *********************************************************************//
  IMeasureDisp = dispinterface
    ['{55AFFD16-7E62-11D6-98D4-87EA5143E325}']
    property Name: WideString dispid 1;
    property FieldName: WideString dispid 2;
    property mType: TMeasureType dispid 3;
  end;

// *********************************************************************//
// The Class CoCube provides a Create and CreateRemote method to          
// create instances of the default interface ICube exposed by              
// the CoClass Cube. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoCube = class
    class function Create: ICube;
    class function CreateRemote(const MachineName: string): ICube;
  end;

// *********************************************************************//
// The Class CoDimension provides a Create and CreateRemote method to          
// create instances of the default interface IDimension exposed by              
// the CoClass Dimension. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoDimension = class
    class function Create: IDimension;
    class function CreateRemote(const MachineName: string): IDimension;
  end;

// *********************************************************************//
// The Class CoCell provides a Create and CreateRemote method to          
// create instances of the default interface ICell exposed by              
// the CoClass Cell. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoCell = class
    class function Create: ICell;
    class function CreateRemote(const MachineName: string): ICell;
  end;

// *********************************************************************//
// The Class CoMap provides a Create and CreateRemote method to          
// create instances of the default interface IMap exposed by              
// the CoClass Map. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoMap = class
    class function Create: IMap;
    class function CreateRemote(const MachineName: string): IMap;
  end;

// *********************************************************************//
// The Class CoDimensionItem provides a Create and CreateRemote method to          
// create instances of the default interface IDimensionItem exposed by              
// the CoClass DimensionItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoDimensionItem = class
    class function Create: IDimensionItem;
    class function CreateRemote(const MachineName: string): IDimensionItem;
  end;

// *********************************************************************//
// The Class CoMeasure provides a Create and CreateRemote method to          
// create instances of the default interface IMeasure exposed by              
// the CoClass Measure. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoMeasure = class
    class function Create: IMeasure;
    class function CreateRemote(const MachineName: string): IMeasure;
  end;

implementation

uses ComObj;

class function CoCube.Create: ICube;
begin
  Result := CreateComObject(CLASS_Cube) as ICube;
end;

class function CoCube.CreateRemote(const MachineName: string): ICube;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Cube) as ICube;
end;

class function CoDimension.Create: IDimension;
begin
  Result := CreateComObject(CLASS_Dimension) as IDimension;
end;

class function CoDimension.CreateRemote(const MachineName: string): IDimension;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Dimension) as IDimension;
end;

class function CoCell.Create: ICell;
begin
  Result := CreateComObject(CLASS_Cell) as ICell;
end;

class function CoCell.CreateRemote(const MachineName: string): ICell;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Cell) as ICell;
end;

class function CoMap.Create: IMap;
begin
  Result := CreateComObject(CLASS_Map) as IMap;
end;

class function CoMap.CreateRemote(const MachineName: string): IMap;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Map) as IMap;
end;

class function CoDimensionItem.Create: IDimensionItem;
begin
  Result := CreateComObject(CLASS_DimensionItem) as IDimensionItem;
end;

class function CoDimensionItem.CreateRemote(const MachineName: string): IDimensionItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_DimensionItem) as IDimensionItem;
end;

class function CoMeasure.Create: IMeasure;
begin
  Result := CreateComObject(CLASS_Measure) as IMeasure;
end;

class function CoMeasure.CreateRemote(const MachineName: string): IMeasure;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_Measure) as IMeasure;
end;

end.
