[Overview][Constants][Types][Classes][Procedures and functions][Index] Reference for unit 'typinfo' (#rtl)


Class properties type data record.


Source position: typinfo.pp line 165

type TTypeData = packed record

  case TTypeKind of

    tkUnKnown, tkLString, tkWString, tkVariant, tkUString: (


    tkAString: (

        CodePage: Word;


Codepage for a single-byte string type


    tkInteger, tkChar, tkEnumeration, tkBool, tkWChar, tkSet: (

        OrdType: TOrdType;


Type is an ordinal type

        case TTypeKind of

          tkInteger, tkChar, tkEnumeration, tkBool, tkWChar: (

              MinValue: LongInt;


Minimum value for the (subrange) type.

              MaxValue: LongInt;


Maxmimum value for the (subrange) type.

              case TTypeKind of

                tkEnumeration: (

                    BaseType: PTypeInfo;


Base type on which this type is based.

                    NameList: ShortString;


List of names for an enumerated type



          tkSet: (

              CompType: PTypeInfo;


Comp type



    tkFloat: (

        FloatType: TFloatType;


Float type


    tkSString: (

        MaxLength: Byte;


Maximum length (for a shortstring type)


    tkClass: (

        ClassType: TClass;


Class type

        ParentInfo: PTypeInfo;


Parent class type info

        PropCount: SmallInt;


Property count for class type

        UnitName: ShortString;


Unit name in which type is defined.


    tkRecord: (

        RecSize: Integer;


Record size for records

        ManagedFldCount: Integer;


Number of managed fields (followed by managed field info)


    tkHelper: (

        HelperParent: PTypeInfo;


Type information for parent helper class

        ExtendedInfo: PTypeInfo;


Type information for the extended type (record or class).

        HelperProps: SmallInt;


Number of properties provided by the helper.

        HelperUnit: ShortString;


Unit the helper class is defined in.


    tkMethod: (

        MethodKind: TMethodKind;


Kind of method

        ParamCount: Byte;


Method parameter count

        ParamList: array [0..1023] of Char;


Type data for parameters


    tkProcVar: (

        ProcSig: TProcedureSignature;


Procedure signature for procedure type


    tkInt64: (

        MinInt64Value: Int64;


Minimum Int64 value for subrange type.

        MaxInt64Value: Int64;


Maximum int64 value for subrange type.


    tkQWord: (

        MinQWordValue: QWord;


Minimum QWord value for a subrange type.

        MaxQWordValue: QWord;


Maximum QWord value for a subrange type.


    tkInterface: (

        IntfParent: PTypeInfo;


Parent interface type data.

        IntfFlags: TIntfFlagsBase;


Interface flags

        GUID: TGuid;


GUID identification for interface

        IntfUnit: ShortString;


Interface unit.


    tkInterfaceRaw: (

        RawIntfParent: PTypeInfo;


Raw interface parent.

        RawIntfFlags: TIntfFlagsBase;


Raw interface parent flags.

        IID: TGuid;


GUID identifying raw interface.

        RawIntfUnit: ShortString;


Raw interface unit.

        IIDStr: ShortString;


IID string representation of interface


    tkArray: (

        ArrayData: TArrayTypeData;


Array element data


    tkDynArray: (

        elSize: PtrUInt;


Dynamical array element size

        elType2: PTypeInfo;


Dynamical array Element type

        varType: LongInt;


Dynamical array element type

        elType: PTypeInfo;


Dynamical array Element type

        DynUnitName: ShortStringBase;


Unit name


    tkClassRef: (

        InstanceType: PTypeInfo;


Pointer to instance type data


    tkPointer: (

        RefType: PTypeInfo;


Type info for referred type (Nil for untyped pointer)




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

Documentation generated on: Sep 28 2017