unit ULDPObju;
{ Generated by MakeComp 1.03 from ULDPTYPE.PAS. Don't modify manually !!! }
interface
uses Classes, SysUtils, Graphics, UlanType, ULRecTyp, ULObju, 
  ModuType,
  ULDPType;

type
  TULDPObj = class(TULObj)
  protected
    function GetPropIDStr: TModulePropIDStr;
    procedure SetPropIDStr(APropIDStr: TModulePropIDStr);
    function GetPropDesc: TModulePropDesc;
    procedure SetPropDesc(APropDesc: TModulePropDesc);
    function GetTypeDesc: TModulePropTypeDesc;
    procedure SetTypeDesc(ATypeDesc: TModulePropTypeDesc);
    function GetTypeID: TModulePropTypeID;
    procedure SetTypeID(ATypeID: TModulePropTypeID);
    function GetPropFlags: TModulePropFlags;
    procedure SetPropFlags(APropFlags: TModulePropFlags);
    function GetValueInPC: AnsiString;
    procedure SetValueInPC(AValueInPC: AnsiString);
    function GetValueInDevice: AnsiString;
    procedure SetValueInDevice(AValueInDevice: AnsiString);
    function GetUpdateInterval: integer;
    procedure SetUpdateInterval(AUpdateInterval: integer);
    function GetForceTransfer: boolean;
    procedure SetForceTransfer(AForceTransfer: boolean);
    function GetMinRecLen: TULRecLen; override;
  public
    constructor Create(AOwner:TULObj);
    function GetULRecDesc: PULRecDesc; override;
  published
    property PropIDStr: TModulePropIDStr
      read GetPropIDStr write SetPropIDStr;
    property PropDesc: TModulePropDesc
      read GetPropDesc write SetPropDesc;
    property TypeDesc: TModulePropTypeDesc
      read GetTypeDesc write SetTypeDesc;
    property TypeID: TModulePropTypeID
      read GetTypeID write SetTypeID;
    property PropFlags: TModulePropFlags
      read GetPropFlags write SetPropFlags;
    property ValueInPC: AnsiString
      read GetValueInPC write SetValueInPC;
    property ValueInDevice: AnsiString
      read GetValueInDevice write SetValueInDevice;
    property UpdateInterval: integer
      read GetUpdateInterval write SetUpdateInterval;
    property ForceTransfer: boolean
      read GetForceTransfer write SetForceTransfer;
  end;

const
  ULDPFldDescs: array[0..8] of TULFldDesc = (
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'PropIDStr';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TModulePropIDStr';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'PropDesc';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TModulePropDesc';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'TypeDesc';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TModulePropTypeDesc';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'TypeID';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TModulePropTypeID';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'PropFlags';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TModulePropFlags';
    ),
    (
     Caption: '';
     Hint: 'Set by user (or by program)';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'ValueInPC';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'AnsiString';
    ),
    (
     Caption: '';
     Hint: 'Value received from the device';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'ValueInDevice';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'AnsiString';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'UpdateInterval';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'integer';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'ForceTransfer';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'boolean';
    )
  );

  ULDPRecDesc: TULRecDesc = (
    Caption: 'Property';
    ChildRecIDsStr: '';
    ChildRecIDs: nil;
    ChildRecIDCount: 0;
    FldCount: 9;
    Flds: @ULDPFldDescs;
    Flags: rfHasRecName OR rfEnabled OR rfVisible;
    SortExp: '';
    EditFieldList: '';
    BrowseFieldList: 'PropDesc,ValueInPC';
    MenuFieldList: '';
    BrowseChildRecIDs: '';
    NameProp: 'PropDesc';
    MainProp: 'ValueInPC';
    DefDir: '';
    OpenFilter: '';
    SaveFilter: '';
    Table: '';
    Indexes: ''
   );

implementation

{TULDPObj}
function TULDPObj.GetMinRecLen: TULRecLen;
begin
  GetMinRecLen := sizeof(TULDPRec);
end;

constructor TULDPObj.Create(AOwner: TULObj);
begin
  inherited Create(TComponent(AOwner), ULDPID);
end;

function TULDPObj.GetULRecDesc: PULRecDesc;
begin
  Result := @ULDPRecDesc;
end;

procedure TULDPObj.SetPropIDStr(APropIDStr: TModulePropIDStr);
begin
  if PULDPRec(Rec)^.PropIDStr <> APropIDStr then begin
    PULDPRec(Rec)^.PropIDStr := APropIDStr;
    if ULDPFldDescs[0].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetPropIDStr: TModulePropIDStr;
begin
  GetPropIDStr := PULDPRec(Rec)^.PropIDStr;
end;

procedure TULDPObj.SetPropDesc(APropDesc: TModulePropDesc);
begin
  if PULDPRec(Rec)^.PropDesc <> APropDesc then begin
    PULDPRec(Rec)^.PropDesc := APropDesc;
    if ULDPFldDescs[1].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetPropDesc: TModulePropDesc;
begin
  GetPropDesc := PULDPRec(Rec)^.PropDesc;
end;

procedure TULDPObj.SetTypeDesc(ATypeDesc: TModulePropTypeDesc);
begin
  if PULDPRec(Rec)^.TypeDesc <> ATypeDesc then begin
    PULDPRec(Rec)^.TypeDesc := ATypeDesc;
    if ULDPFldDescs[2].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetTypeDesc: TModulePropTypeDesc;
begin
  GetTypeDesc := PULDPRec(Rec)^.TypeDesc;
end;

procedure TULDPObj.SetTypeID(ATypeID: TModulePropTypeID);
begin
  if PULDPRec(Rec)^.TypeID <> ATypeID then begin
    PULDPRec(Rec)^.TypeID := ATypeID;
    if ULDPFldDescs[3].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetTypeID: TModulePropTypeID;
begin
  GetTypeID := PULDPRec(Rec)^.TypeID;
end;

procedure TULDPObj.SetPropFlags(APropFlags: TModulePropFlags);
begin
  if PULDPRec(Rec)^.PropFlags <> APropFlags then begin
    PULDPRec(Rec)^.PropFlags := APropFlags;
    if ULDPFldDescs[4].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetPropFlags: TModulePropFlags;
begin
  GetPropFlags := PULDPRec(Rec)^.PropFlags;
end;

procedure TULDPObj.SetValueInPC(AValueInPC: AnsiString);
begin
  if PULDPRec(Rec)^.ValueInPC <> AValueInPC then begin
    PULDPRec(Rec)^.ValueInPC := AValueInPC;
    if ULDPFldDescs[5].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
  DoMainPropUpdated;
end;

function TULDPObj.GetValueInPC: AnsiString;
begin
  GetValueInPC := PULDPRec(Rec)^.ValueInPC;
end;

procedure TULDPObj.SetValueInDevice(AValueInDevice: AnsiString);
begin
  if PULDPRec(Rec)^.ValueInDevice <> AValueInDevice then begin
    PULDPRec(Rec)^.ValueInDevice := AValueInDevice;
    if ULDPFldDescs[6].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetValueInDevice: AnsiString;
begin
  GetValueInDevice := PULDPRec(Rec)^.ValueInDevice;
end;

procedure TULDPObj.SetUpdateInterval(AUpdateInterval: integer);
begin
  if PULDPRec(Rec)^.UpdateInterval <> AUpdateInterval then begin
    PULDPRec(Rec)^.UpdateInterval := AUpdateInterval;
    if ULDPFldDescs[7].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetUpdateInterval: integer;
begin
  GetUpdateInterval := PULDPRec(Rec)^.UpdateInterval;
end;

procedure TULDPObj.SetForceTransfer(AForceTransfer: boolean);
begin
  if PULDPRec(Rec)^.ForceTransfer <> AForceTransfer then begin
    PULDPRec(Rec)^.ForceTransfer := AForceTransfer;
    if ULDPFldDescs[8].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULDPObj.GetForceTransfer: boolean;
begin
  GetForceTransfer := PULDPRec(Rec)^.ForceTransfer;
end;

{/TULDPObj}

end.
