unit Line1C_TLB;

{ This file contains pascal declarations imported from a type library.
  This file will be written during each import or refresh of the type
  library editor.  Changes to this file will be discarded during the
  refresh process. }

{ ATOL: Line1C }
{ Version 6.0 }

interface

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

const
  LIBID_Line1C: TGUID = '{9AA62C53-999A-11D3-9DB5-0000E8DBEDCE}';

const

{ Component class GUIDs }
  Class_Line45: TGUID = '{9AA62C52-999A-11D3-9DB5-0000E8DBEDCE}';

type

{ Forward declarations: Interfaces }
  IStandart = interface;
  IStandartDisp = dispinterface;
  ILine1C = interface;
  ILine1CDisp = dispinterface;
  ILine1C5X = interface;
  ILine1C5XDisp = dispinterface;

{ Forward declarations: CoClasses }
  Line45 = ILine1C5X;

{ ATOL: LineStandart }

  IStandart = interface(IDispatch)
    ['{9EE812C6-E98F-11D2-AF3E-0000E8DBEDCE}']
    function Get_ResultCode: Integer; safecall;
    function Get_ResultDescription: WideString; safecall;
    function Get_Version: WideString; safecall;
    function Get_CurrentDeviceIndex: Integer; safecall;
    procedure Set_CurrentDeviceIndex(Value: Integer); safecall;
    function Get_CurrentDeviceNumber: Integer; safecall;
    procedure Set_CurrentDeviceNumber(Value: Integer); safecall;
    function Get_CurrentDeviceName: WideString; safecall;
    procedure Set_CurrentDeviceName(const Value: WideString); safecall;
    function Get_DeviceCount: Integer; safecall;
    function Get_ApplicationHandle: Integer; safecall;
    procedure Set_ApplicationHandle(Value: Integer); safecall;
    function ShowProperties: Integer; safecall;
    function AddDevice: Integer; safecall;
    function DeleteDevice: Integer; safecall;
    function SaveDevicesSettings: Integer; safecall;
    function LoadDevicesSettings: Integer; safecall;
    function Get_DevicesSettings: WideString; safecall;
    procedure Set_DevicesSettings(const Value: WideString); safecall;
    function Get_DeviceSettings: WideString; safecall;
    procedure Set_DeviceSettings(const Value: WideString); safecall;
    property ResultCode: Integer read Get_ResultCode;
    property ResultDescription: WideString read Get_ResultDescription;
    property Version: WideString read Get_Version;
    property CurrentDeviceIndex: Integer read Get_CurrentDeviceIndex write Set_CurrentDeviceIndex;
    property CurrentDeviceNumber: Integer read Get_CurrentDeviceNumber write Set_CurrentDeviceNumber;
    property CurrentDeviceName: WideString read Get_CurrentDeviceName write Set_CurrentDeviceName;
    property DeviceCount: Integer read Get_DeviceCount;
    property ApplicationHandle: Integer read Get_ApplicationHandle write Set_ApplicationHandle;
    property DevicesSettings: WideString read Get_DevicesSettings write Set_DevicesSettings;
    property DeviceSettings: WideString read Get_DeviceSettings write Set_DeviceSettings;
  end;

{ DispInterface declaration for Dual Interface IStandart }

  IStandartDisp = dispinterface
    ['{9EE812C6-E98F-11D2-AF3E-0000E8DBEDCE}']
    property ResultCode: Integer readonly dispid 1;
    property ResultDescription: WideString readonly dispid 2;
    property Version: WideString readonly dispid 3;
    property CurrentDeviceIndex: Integer dispid 4;
    property CurrentDeviceNumber: Integer dispid 5;
    property CurrentDeviceName: WideString dispid 6;
    property DeviceCount: Integer readonly dispid 7;
    property ApplicationHandle: Integer dispid 8;
    function ShowProperties: Integer; dispid 9;
    function AddDevice: Integer; dispid 10;
    function DeleteDevice: Integer; dispid 11;
    function SaveDevicesSettings: Integer; dispid 201;
    function LoadDevicesSettings: Integer; dispid 202;
    property DevicesSettings: WideString dispid 203;
    property DeviceSettings: WideString dispid 204;
  end;

{ ATOL: Line1C }

  ILine1C = interface(IStandart)
    ['{9AA62C51-999A-11D3-9DB5-0000E8DBEDCE}']
    function Get_PortNumber: Integer; safecall;
    procedure Set_PortNumber(Value: Integer); safecall;
    function Get_BaudRate: Integer; safecall;
    procedure Set_BaudRate(Value: Integer); safecall;
    function Get_Parity: Integer; safecall;
    procedure Set_Parity(Value: Integer); safecall;
    function Get_DataBits: Integer; safecall;
    procedure Set_DataBits(Value: Integer); safecall;
    function Get_StopBits: Integer; safecall;
    procedure Set_StopBits(Value: Integer); safecall;
    function Get_LockDevices: WordBool; safecall;
    procedure Set_LockDevices(Value: WordBool); safecall;
    function Get_DeviceDescription: WideString; safecall;
    function Get_DeviceEnabled: WordBool; safecall;
    procedure Set_DeviceEnabled(Value: WordBool); safecall;
    function Get_CapBlink: Integer; safecall;
    function Get_CapBrightness: WordBool; safecall;
    function Get_CapCharacterSet: Integer; safecall;
    function Get_CapDescriptors: WordBool; safecall;
    function Get_CapHMarquee: WordBool; safecall;
    function Get_CapICharWait: WordBool; safecall;
    function Get_CapVMarquee: WordBool; safecall;
    function Get_DeviceWindows: Integer; safecall;
    function Get_DeviceRows: Integer; safecall;
    function Get_DeviceColumns: Integer; safecall;
    function Get_DeviceDescriptors: Integer; safecall;
    function Get_DeviceBrightness: Integer; safecall;
    procedure Set_DeviceBrightness(Value: Integer); safecall;
    function Get_CharacterSet: Integer; safecall;
    procedure Set_CharacterSet(Value: Integer); safecall;
    function Get_CharacterSetList: WideString; safecall;
    function Get_CurrentWindow: Integer; safecall;
    procedure Set_CurrentWindow(Value: Integer); safecall;
    function Get_Rows: Integer; safecall;
    function Get_Columns: Integer; safecall;
    function Get_CursorRow: Integer; safecall;
    procedure Set_CursorRow(Value: Integer); safecall;
    function Get_CursorColumn: Integer; safecall;
    procedure Set_CursorColumn(Value: Integer); safecall;
    function Get_CursorUpdate: WordBool; safecall;
    procedure Set_CursorUpdate(Value: WordBool); safecall;
    function Get_MarqueeType: Integer; safecall;
    procedure Set_MarqueeType(Value: Integer); safecall;
    function Get_MarqueeFormat: Integer; safecall;
    procedure Set_MarqueeFormat(Value: Integer); safecall;
    function Get_MarqueeUnitWait: Integer; safecall;
    procedure Set_MarqueeUnitWait(Value: Integer); safecall;
    function Get_MarqueeRepeatWait: Integer; safecall;
    procedure Set_MarqueeRepeatWait(Value: Integer); safecall;
    function Get_InterCharacterWait: Integer; safecall;
    procedure Set_InterCharacterWait(Value: Integer); safecall;
    function Get_BlinkInterval: Integer; safecall;
    procedure Set_BlinkInterval(Value: Integer); safecall;
    function Get_CapStatus: WordBool; safecall;
    function Get_DrawerOpened: WordBool; safecall;
    function Get_ServerVersion: WideString; safecall;
    function Get_MachineName: WideString; safecall;
    procedure Set_MachineName(const Value: WideString); safecall;
    function Get_ClientType: Integer; safecall;
    function Get_ApplicationTitle: WideString; safecall;
    procedure Set_ApplicationTitle(const Value: WideString); safecall;
    function DisplayText(const Data: WideString; Attribute1: Integer): Integer; safecall;
    function ScrollText(Direction, Units1: Integer): Integer; safecall;
    function ClearText: Integer; safecall;
    function CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1: Integer): Integer; safecall;
    function DestroyWindow: Integer; safecall;
    function DisplayTextAt(Row, Column: Integer; const Data: WideString; Attribute1: Integer): Integer; safecall;
    function RefreshWindow(Window1: Integer): Integer; safecall;
    function SetDescriptor(Descriptor, Attribute1: Integer): Integer; safecall;
    function ClearDescriptors: Integer; safecall;
    function OpenDrawer: Integer; safecall;
    procedure AboutBox; safecall;
    procedure Clear; safecall;
    procedure SelfTest; safecall;
    function Get_Model: Integer; safecall;
    procedure Set_Model(Value: Integer); safecall;
    function Get_DownloadFonts: WordBool; safecall;
    procedure Set_DownloadFonts(Value: WordBool); safecall;
    property PortNumber: Integer read Get_PortNumber write Set_PortNumber;
    property BaudRate: Integer read Get_BaudRate write Set_BaudRate;
    property Parity: Integer read Get_Parity write Set_Parity;
    property DataBits: Integer read Get_DataBits write Set_DataBits;
    property StopBits: Integer read Get_StopBits write Set_StopBits;
    property LockDevices: WordBool read Get_LockDevices write Set_LockDevices;
    property DeviceDescription: WideString read Get_DeviceDescription;
    property DeviceEnabled: WordBool read Get_DeviceEnabled write Set_DeviceEnabled;
    property CapBlink: Integer read Get_CapBlink;
    property CapBrightness: WordBool read Get_CapBrightness;
    property CapCharacterSet: Integer read Get_CapCharacterSet;
    property CapDescriptors: WordBool read Get_CapDescriptors;
    property CapHMarquee: WordBool read Get_CapHMarquee;
    property CapICharWait: WordBool read Get_CapICharWait;
    property CapVMarquee: WordBool read Get_CapVMarquee;
    property DeviceWindows: Integer read Get_DeviceWindows;
    property DeviceRows: Integer read Get_DeviceRows;
    property DeviceColumns: Integer read Get_DeviceColumns;
    property DeviceDescriptors: Integer read Get_DeviceDescriptors;
    property DeviceBrightness: Integer read Get_DeviceBrightness write Set_DeviceBrightness;
    property CharacterSet: Integer read Get_CharacterSet write Set_CharacterSet;
    property CharacterSetList: WideString read Get_CharacterSetList;
    property CurrentWindow: Integer read Get_CurrentWindow write Set_CurrentWindow;
    property Rows: Integer read Get_Rows;
    property Columns: Integer read Get_Columns;
    property CursorRow: Integer read Get_CursorRow write Set_CursorRow;
    property CursorColumn: Integer read Get_CursorColumn write Set_CursorColumn;
    property CursorUpdate: WordBool read Get_CursorUpdate write Set_CursorUpdate;
    property MarqueeType: Integer read Get_MarqueeType write Set_MarqueeType;
    property MarqueeFormat: Integer read Get_MarqueeFormat write Set_MarqueeFormat;
    property MarqueeUnitWait: Integer read Get_MarqueeUnitWait write Set_MarqueeUnitWait;
    property MarqueeRepeatWait: Integer read Get_MarqueeRepeatWait write Set_MarqueeRepeatWait;
    property InterCharacterWait: Integer read Get_InterCharacterWait write Set_InterCharacterWait;
    property BlinkInterval: Integer read Get_BlinkInterval write Set_BlinkInterval;
    property CapStatus: WordBool read Get_CapStatus;
    property DrawerOpened: WordBool read Get_DrawerOpened;
    property ServerVersion: WideString read Get_ServerVersion;
    property MachineName: WideString read Get_MachineName write Set_MachineName;
    property ClientType: Integer read Get_ClientType;
    property ApplicationTitle: WideString read Get_ApplicationTitle write Set_ApplicationTitle;
    property Model: Integer read Get_Model write Set_Model;
    property DownloadFonts: WordBool read Get_DownloadFonts write Set_DownloadFonts;
  end;

{ DispInterface declaration for Dual Interface ILine1C }

  ILine1CDisp = dispinterface
    ['{9AA62C51-999A-11D3-9DB5-0000E8DBEDCE}']
    property ResultCode: Integer readonly dispid 1;
    property ResultDescription: WideString readonly dispid 2;
    property Version: WideString readonly dispid 3;
    property CurrentDeviceIndex: Integer dispid 4;
    property CurrentDeviceNumber: Integer dispid 5;
    property CurrentDeviceName: WideString dispid 6;
    property DeviceCount: Integer readonly dispid 7;
    property ApplicationHandle: Integer dispid 8;
    function ShowProperties: Integer; dispid 9;
    function AddDevice: Integer; dispid 10;
    function DeleteDevice: Integer; dispid 11;
    function SaveDevicesSettings: Integer; dispid 201;
    function LoadDevicesSettings: Integer; dispid 202;
    property DevicesSettings: WideString dispid 203;
    property DeviceSettings: WideString dispid 204;
    property PortNumber: Integer dispid 12;
    property BaudRate: Integer dispid 13;
    property Parity: Integer dispid 14;
    property DataBits: Integer dispid 15;
    property StopBits: Integer dispid 16;
    property LockDevices: WordBool dispid 17;
    property DeviceDescription: WideString readonly dispid 18;
    property DeviceEnabled: WordBool dispid 19;
    property CapBlink: Integer readonly dispid 20;
    property CapBrightness: WordBool readonly dispid 21;
    property CapCharacterSet: Integer readonly dispid 22;
    property CapDescriptors: WordBool readonly dispid 23;
    property CapHMarquee: WordBool readonly dispid 24;
    property CapICharWait: WordBool readonly dispid 25;
    property CapVMarquee: WordBool readonly dispid 26;
    property DeviceWindows: Integer readonly dispid 27;
    property DeviceRows: Integer readonly dispid 28;
    property DeviceColumns: Integer readonly dispid 29;
    property DeviceDescriptors: Integer readonly dispid 30;
    property DeviceBrightness: Integer dispid 31;
    property CharacterSet: Integer dispid 32;
    property CharacterSetList: WideString readonly dispid 33;
    property CurrentWindow: Integer dispid 34;
    property Rows: Integer readonly dispid 35;
    property Columns: Integer readonly dispid 36;
    property CursorRow: Integer dispid 37;
    property CursorColumn: Integer dispid 38;
    property CursorUpdate: WordBool dispid 39;
    property MarqueeType: Integer dispid 40;
    property MarqueeFormat: Integer dispid 41;
    property MarqueeUnitWait: Integer dispid 42;
    property MarqueeRepeatWait: Integer dispid 43;
    property InterCharacterWait: Integer dispid 44;
    property BlinkInterval: Integer dispid 45;
    property CapStatus: WordBool readonly dispid 46;
    property DrawerOpened: WordBool readonly dispid 47;
    property ServerVersion: WideString readonly dispid 48;
    property MachineName: WideString dispid 49;
    property ClientType: Integer readonly dispid 50;
    property ApplicationTitle: WideString dispid 51;
    function DisplayText(const Data: WideString; Attribute1: Integer): Integer; dispid 55;
    function ScrollText(Direction, Units1: Integer): Integer; dispid 56;
    function ClearText: Integer; dispid 57;
    function CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1: Integer): Integer; dispid 58;
    function DestroyWindow: Integer; dispid 59;
    function DisplayTextAt(Row, Column: Integer; const Data: WideString; Attribute1: Integer): Integer; dispid 60;
    function RefreshWindow(Window1: Integer): Integer; dispid 61;
    function SetDescriptor(Descriptor, Attribute1: Integer): Integer; dispid 62;
    function ClearDescriptors: Integer; dispid 63;
    function OpenDrawer: Integer; dispid 64;
    procedure AboutBox; dispid -552;
    procedure Clear; dispid 52;
    procedure SelfTest; dispid 53;
    property Model: Integer dispid 65;
    property DownloadFonts: WordBool dispid 54;
  end;

{ ATOL: Line1C5X }

  ILine1C5X = interface(ILine1C)
    ['{1D056259-4601-412C-BBB7-90F1A1F6777B}']
    function GetDeviceColumns(Row1: Integer): Integer; safecall;
    procedure AddViewPort(Row, Column, Height, Width: Integer); safecall;
    procedure ClearViewPorts; safecall;
    function Get_CapSelfTest: WordBool; safecall;
    function Get_CapDownloadFonts: WordBool; safecall;
    function Get_ServerLoaded: WordBool; safecall;
    function Get_IsDemo: WordBool; safecall;
    property CapSelfTest: WordBool read Get_CapSelfTest;
    property CapDownloadFonts: WordBool read Get_CapDownloadFonts;
    property ServerLoaded: WordBool read Get_ServerLoaded;
    property IsDemo: WordBool read Get_IsDemo;
  end;

{ DispInterface declaration for Dual Interface ILine1C5X }

  ILine1C5XDisp = dispinterface
    ['{1D056259-4601-412C-BBB7-90F1A1F6777B}']
    property ResultCode: Integer readonly dispid 1;
    property ResultDescription: WideString readonly dispid 2;
    property Version: WideString readonly dispid 3;
    property CurrentDeviceIndex: Integer dispid 4;
    property CurrentDeviceNumber: Integer dispid 5;
    property CurrentDeviceName: WideString dispid 6;
    property DeviceCount: Integer readonly dispid 7;
    property ApplicationHandle: Integer dispid 8;
    function ShowProperties: Integer; dispid 9;
    function AddDevice: Integer; dispid 10;
    function DeleteDevice: Integer; dispid 11;
    function SaveDevicesSettings: Integer; dispid 201;
    function LoadDevicesSettings: Integer; dispid 202;
    property DevicesSettings: WideString dispid 203;
    property DeviceSettings: WideString dispid 204;
    property PortNumber: Integer dispid 12;
    property BaudRate: Integer dispid 13;
    property Parity: Integer dispid 14;
    property DataBits: Integer dispid 15;
    property StopBits: Integer dispid 16;
    property LockDevices: WordBool dispid 17;
    property DeviceDescription: WideString readonly dispid 18;
    property DeviceEnabled: WordBool dispid 19;
    property CapBlink: Integer readonly dispid 20;
    property CapBrightness: WordBool readonly dispid 21;
    property CapCharacterSet: Integer readonly dispid 22;
    property CapDescriptors: WordBool readonly dispid 23;
    property CapHMarquee: WordBool readonly dispid 24;
    property CapICharWait: WordBool readonly dispid 25;
    property CapVMarquee: WordBool readonly dispid 26;
    property DeviceWindows: Integer readonly dispid 27;
    property DeviceRows: Integer readonly dispid 28;
    property DeviceColumns: Integer readonly dispid 29;
    property DeviceDescriptors: Integer readonly dispid 30;
    property DeviceBrightness: Integer dispid 31;
    property CharacterSet: Integer dispid 32;
    property CharacterSetList: WideString readonly dispid 33;
    property CurrentWindow: Integer dispid 34;
    property Rows: Integer readonly dispid 35;
    property Columns: Integer readonly dispid 36;
    property CursorRow: Integer dispid 37;
    property CursorColumn: Integer dispid 38;
    property CursorUpdate: WordBool dispid 39;
    property MarqueeType: Integer dispid 40;
    property MarqueeFormat: Integer dispid 41;
    property MarqueeUnitWait: Integer dispid 42;
    property MarqueeRepeatWait: Integer dispid 43;
    property InterCharacterWait: Integer dispid 44;
    property BlinkInterval: Integer dispid 45;
    property CapStatus: WordBool readonly dispid 46;
    property DrawerOpened: WordBool readonly dispid 47;
    property ServerVersion: WideString readonly dispid 48;
    property MachineName: WideString dispid 49;
    property ClientType: Integer readonly dispid 50;
    property ApplicationTitle: WideString dispid 51;
    function DisplayText(const Data: WideString; Attribute1: Integer): Integer; dispid 55;
    function ScrollText(Direction, Units1: Integer): Integer; dispid 56;
    function ClearText: Integer; dispid 57;
    function CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1: Integer): Integer; dispid 58;
    function DestroyWindow: Integer; dispid 59;
    function DisplayTextAt(Row, Column: Integer; const Data: WideString; Attribute1: Integer): Integer; dispid 60;
    function RefreshWindow(Window1: Integer): Integer; dispid 61;
    function SetDescriptor(Descriptor, Attribute1: Integer): Integer; dispid 62;
    function ClearDescriptors: Integer; dispid 63;
    function OpenDrawer: Integer; dispid 64;
    procedure AboutBox; dispid -552;
    procedure Clear; dispid 52;
    procedure SelfTest; dispid 53;
    property Model: Integer dispid 65;
    property DownloadFonts: WordBool dispid 54;
    function GetDeviceColumns(Row1: Integer): Integer; dispid 66;
    procedure AddViewPort(Row, Column, Height, Width: Integer); dispid 67;
    procedure ClearViewPorts; dispid 68;
    property CapSelfTest: WordBool readonly dispid 69;
    property CapDownloadFonts: WordBool readonly dispid 70;
    property ServerLoaded: WordBool readonly dispid 71;
    property IsDemo: WordBool readonly dispid 72;
  end;

{ :    }

  TLine45 = class(TOleControl)
  private
    FIntf: ILine1C5X;
    function GetControlInterface: ILine1C5X;
  protected
    procedure CreateControl;
    procedure InitControlData; override;
    function GetTOleEnumProp(Index: Integer): TOleEnum;
    procedure SetTOleEnumProp(Index: Integer; Value: TOleEnum);
  public
    function ShowProperties: Integer;
    function AddDevice: Integer;
    function DeleteDevice: Integer;
    function SaveDevicesSettings: Integer;
    function LoadDevicesSettings: Integer;
    function DisplayText(const Data: WideString; Attribute1: Integer): Integer;
    function ScrollText(Direction, Units1: Integer): Integer;
    function ClearText: Integer;
    function CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1: Integer): Integer;
    function DestroyWindow: Integer;
    function DisplayTextAt(Row, Column: Integer; const Data: WideString; Attribute1: Integer): Integer;
    function RefreshWindow(Window1: Integer): Integer;
    function SetDescriptor(Descriptor, Attribute1: Integer): Integer;
    function ClearDescriptors: Integer;
    function OpenDrawer: Integer;
    procedure AboutBox;
    procedure Clear;
    procedure SelfTest;
    function GetDeviceColumns(Row1: Integer): Integer;
    procedure AddViewPort(Row, Column, Height, Width: Integer);
    procedure ClearViewPorts;
    property ControlInterface: ILine1C5X read GetControlInterface;
    property ResultCode: Integer index 1 read GetIntegerProp;
    property ResultDescription: WideString index 2 read GetWideStringProp;
    property Version: WideString index 3 read GetWideStringProp;
    property DeviceCount: Integer index 7 read GetIntegerProp;
    property DeviceDescription: WideString index 18 read GetWideStringProp;
    property CapBlink: Integer index 20 read GetIntegerProp;
    property CapBrightness: WordBool index 21 read GetWordBoolProp;
    property CapCharacterSet: Integer index 22 read GetIntegerProp;
    property CapDescriptors: WordBool index 23 read GetWordBoolProp;
    property CapHMarquee: WordBool index 24 read GetWordBoolProp;
    property CapICharWait: WordBool index 25 read GetWordBoolProp;
    property CapVMarquee: WordBool index 26 read GetWordBoolProp;
    property DeviceWindows: Integer index 27 read GetIntegerProp;
    property DeviceRows: Integer index 28 read GetIntegerProp;
    property DeviceColumns: Integer index 29 read GetIntegerProp;
    property DeviceDescriptors: Integer index 30 read GetIntegerProp;
    property CharacterSetList: WideString index 33 read GetWideStringProp;
    property Rows: Integer index 35 read GetIntegerProp;
    property Columns: Integer index 36 read GetIntegerProp;
    property CapStatus: WordBool index 46 read GetWordBoolProp;
    property DrawerOpened: WordBool index 47 read GetWordBoolProp;
    property ServerVersion: WideString index 48 read GetWideStringProp;
    property ClientType: Integer index 50 read GetIntegerProp;
    property CapSelfTest: WordBool index 69 read GetWordBoolProp;
    property CapDownloadFonts: WordBool index 70 read GetWordBoolProp;
    property ServerLoaded: WordBool index 71 read GetWordBoolProp;
    property IsDemo: WordBool index 72 read GetWordBoolProp;
  published
    property CurrentDeviceIndex: Integer index 4 read GetIntegerProp write SetIntegerProp stored False;
    property CurrentDeviceNumber: Integer index 5 read GetIntegerProp write SetIntegerProp stored False;
    property CurrentDeviceName: WideString index 6 read GetWideStringProp write SetWideStringProp stored False;
    property ApplicationHandle: Integer index 8 read GetIntegerProp write SetIntegerProp stored False;
    property DevicesSettings: WideString index 203 read GetWideStringProp write SetWideStringProp stored False;
    property DeviceSettings: WideString index 204 read GetWideStringProp write SetWideStringProp stored False;
    property PortNumber: Integer index 12 read GetIntegerProp write SetIntegerProp stored False;
    property BaudRate: Integer index 13 read GetIntegerProp write SetIntegerProp stored False;
    property Parity: Integer index 14 read GetIntegerProp write SetIntegerProp stored False;
    property DataBits: Integer index 15 read GetIntegerProp write SetIntegerProp stored False;
    property StopBits: Integer index 16 read GetIntegerProp write SetIntegerProp stored False;
    property LockDevices: WordBool index 17 read GetWordBoolProp write SetWordBoolProp stored False;
    property DeviceEnabled: WordBool index 19 read GetWordBoolProp write SetWordBoolProp stored False;
    property DeviceBrightness: Integer index 31 read GetIntegerProp write SetIntegerProp stored False;
    property CharacterSet: Integer index 32 read GetIntegerProp write SetIntegerProp stored False;
    property CurrentWindow: Integer index 34 read GetIntegerProp write SetIntegerProp stored False;
    property CursorRow: Integer index 37 read GetIntegerProp write SetIntegerProp stored False;
    property CursorColumn: Integer index 38 read GetIntegerProp write SetIntegerProp stored False;
    property CursorUpdate: WordBool index 39 read GetWordBoolProp write SetWordBoolProp stored False;
    property MarqueeType: Integer index 40 read GetIntegerProp write SetIntegerProp stored False;
    property MarqueeFormat: Integer index 41 read GetIntegerProp write SetIntegerProp stored False;
    property MarqueeUnitWait: Integer index 42 read GetIntegerProp write SetIntegerProp stored False;
    property MarqueeRepeatWait: Integer index 43 read GetIntegerProp write SetIntegerProp stored False;
    property InterCharacterWait: Integer index 44 read GetIntegerProp write SetIntegerProp stored False;
    property BlinkInterval: Integer index 45 read GetIntegerProp write SetIntegerProp stored False;
    property MachineName: WideString index 49 read GetWideStringProp write SetWideStringProp stored False;
    property ApplicationTitle: WideString index 51 read GetWideStringProp write SetWideStringProp stored False;
    property Model: Integer index 65 read GetIntegerProp write SetIntegerProp stored False;
    property DownloadFonts: WordBool index 54 read GetWordBoolProp write SetWordBoolProp stored False;
  end;

procedure Register;

implementation

uses ComObj;

procedure TLine45.InitControlData;
const
  CControlData: TControlData = (
    ClassID: '{9AA62C52-999A-11D3-9DB5-0000E8DBEDCE}';
    EventIID: '';
    EventCount: 0;
    EventDispIDs: nil;
    LicenseKey: nil;
    Flags: $00000000;
    Version: 300);
begin
  ControlData := @CControlData;
end;

procedure TLine45.CreateControl;

  procedure DoCreate;
  begin
    FIntf := IUnknown(OleObject) as ILine1C5X;
  end;

begin
  if FIntf = nil then DoCreate;
end;

function TLine45.GetControlInterface: ILine1C5X;
begin
  CreateControl;
  Result := FIntf;
end;

function TLine45.GetTOleEnumProp(Index: Integer): TOleEnum;
begin
  Result := GetIntegerProp(Index);
end;

procedure TLine45.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
begin
  SetIntegerProp(Index, Value);
end;

function TLine45.ShowProperties: Integer;
begin
  CreateControl;
  Result := FIntf.ShowProperties;
end;

function TLine45.AddDevice: Integer;
begin
  CreateControl;
  Result := FIntf.AddDevice;
end;

function TLine45.DeleteDevice: Integer;
begin
  CreateControl;
  Result := FIntf.DeleteDevice;
end;

function TLine45.SaveDevicesSettings: Integer;
begin
  CreateControl;
  Result := FIntf.SaveDevicesSettings;
end;

function TLine45.LoadDevicesSettings: Integer;
begin
  CreateControl;
  Result := FIntf.LoadDevicesSettings;
end;

function TLine45.DisplayText(const Data: WideString; Attribute1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.DisplayText(Data, Attribute1);
end;

function TLine45.ScrollText(Direction, Units1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.ScrollText(Direction, Units1);
end;

function TLine45.ClearText: Integer;
begin
  CreateControl;
  Result := FIntf.ClearText;
end;

function TLine45.CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.CreateWindow(ViewPortRow, ViewPortColumn, ViewportHeight, ViewportWidth, WindowHeight, WindowWidth1);
end;

function TLine45.DestroyWindow: Integer;
begin
  CreateControl;
  Result := FIntf.DestroyWindow;
end;

function TLine45.DisplayTextAt(Row, Column: Integer; const Data: WideString; Attribute1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.DisplayTextAt(Row, Column, Data, Attribute1);
end;

function TLine45.RefreshWindow(Window1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.RefreshWindow(Window1);
end;

function TLine45.SetDescriptor(Descriptor, Attribute1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.SetDescriptor(Descriptor, Attribute1);
end;

function TLine45.ClearDescriptors: Integer;
begin
  CreateControl;
  Result := FIntf.ClearDescriptors;
end;

function TLine45.OpenDrawer: Integer;
begin
  CreateControl;
  Result := FIntf.OpenDrawer;
end;

procedure TLine45.AboutBox;
begin
  CreateControl;
  FIntf.AboutBox;
end;

procedure TLine45.Clear;
begin
  CreateControl;
  FIntf.Clear;
end;

procedure TLine45.SelfTest;
begin
  CreateControl;
  FIntf.SelfTest;
end;

function TLine45.GetDeviceColumns(Row1: Integer): Integer;
begin
  CreateControl;
  Result := FIntf.GetDeviceColumns(Row1);
end;

procedure TLine45.AddViewPort(Row, Column, Height, Width: Integer);
begin
  CreateControl;
  FIntf.AddViewPort(Row, Column, Height, Width);
end;

procedure TLine45.ClearViewPorts;
begin
  CreateControl;
  FIntf.ClearViewPorts;
end;


procedure Register;
begin
  RegisterComponents('ActiveX', [TLine45]);
end;

end.
