Skip to content

TTypeData

Class properties type data record.

Declaration

Source position: typinfo.pp line 868

type
  TTypeData = packed record
    property BaseType: PTypeInfo; {r}
    property CompType: PTypeInfo; {r}
    property ParentInfo: PTypeInfo; {r}
    property RecInitData: PRecInitData; {r}
    property HelperParent: PTypeInfo; {r}
    property ExtendedInfo: PTypeInfo; {r}
    property IntfParent: PTypeInfo; {r}
    property RawIntfParent: PTypeInfo; {r}
    property IIDStr: ShortString; {r}
    property ElType2: PTypeInfo; {r}
    property ElType: PTypeInfo; {r}
    property InstanceType: PTypeInfo; {r}
    property RefType: PTypeInfo; {r}
    AttributeTable: PAttributeTable = ^TAttributeTable;
    case TTypeKind of
      tkUnKnown: (
      );, tkLString: (
      );, tkWString: (
      );, tkVariant: (
      );, tkUString: (
      );
      tkAString: (
        CodePage : Word;
      );
      tkInt64: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkQWord: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkInteger: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkChar: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkEnumeration: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkBool: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkWChar: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );, tkSet: (
        OrdType : TOrdType;
      case TTypeKind of
      tkInteger: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkEnumeration: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkBool: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );, tkWChar: (
        MinValue : LongInt;
        MaxValue : LongInt;
      case TTypeKind of
      tkEnumeration: (
        BaseTypeRef : PPTypeInfo;
        NameList : ShortString;
      );
      );
      tkInt64: (
        MinInt64Value : Int64;
        MaxInt64Value : Int64;
      );
      tkQWord: (
        MinQWordValue : QWord;
        MaxQWordValue : QWord;
      );
      tkSet: (
        SetSize : SizeInt;
        CompTypeRef : PPTypeInfo;
      );
      );
      tkFloat: (
        FloatType : TFloatType;
      );
      tkSString: (
        MaxLength : Byte;
      );
      tkClass: (
        ClassType : TClass;
        ParentInfoRef : PPTypeInfo;
        PropCount : SmallInt;
        UnitName : ShortString;
      );
      tkRecord: (
        RecInitInfo : Pointer;
        RecSize : LongInt;
      case Boolean of
      False: (
        ManagedFldCount : LongIntdeprecated;
      );
      True: (
        TotalFieldCount : LongInt;
      );
      );
      tkHelper: (
        HelperParentRef : PPTypeInfo;
        ExtendedInfoRef : PPTypeInfo;
        HelperProps : SmallInt;
        HelperUnit : ShortString;
      );
      tkMethod: (
        MethodKind : TMethodKind;
        ParamCount : Byte;
      case Boolean of
      False: (
        ParamList : Array[0..1023] of AnsiChar = char;
      );
      True: (
        ParamListDummy : Word;
      );
      );
      tkProcVar: (
        ProcSig : TProcedureSignature;
      );
      tkInterface: (
        IntfParentRef : PPTypeInfo;
        IntfFlags : TIntfFlagsBase;
        GUID : TGUID;
        ThunkClass : PPTypeInfo;
        IntfUnit : ShortString;
      );
      tkInterfaceRaw: (
        RawIntfParentRef : PPTypeInfo;
        RawIntfFlags : TIntfFlagsBase;
        IID : TGUID;
        RawThunkClass : PPTypeInfo;
        RawIntfUnit : ShortString;
      );
      tkArray: (
        ArrayData : TArrayTypeData;
      );
      tkDynArray: (
        elSize : PtrUInt;
        elType2Ref : PPTypeInfo;
        varType : LongInt;
        elTypeRef : PPTypeInfo;
        DynUnitName : string[255];
      );
      tkClassRef: (
        InstanceTypeRef : PPTypeInfo;
      );
      tkPointer: (
        RefTypeRef : PPTypeInfo;
      );
  end;

Description

If the typeinfo kind is tkClass, then the property information follows the UnitName string, as an array of TPropInfo records.