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

TTypeData

Class properties type data record.

Declaration

Source position: typinfo.pp line 517

type TTypeData = packed record

public

  property BaseType: PTypeInfo; [r]

  

Base type on which this type is based.

  property CompType: PTypeInfo; [r]

  

Comp type

  property ParentInfo: PTypeInfo; [r]

  

Parent class type info

  property RecInitData: PRecInitData; [r]

  property HelperParent: PTypeInfo; [r]

  

Type information for parent helper class

  property ExtendedInfo: PTypeInfo; [r]

  

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

  property IntfParent: PTypeInfo; [r]

  

Parent interface type data.

  property RawIntfParent: PTypeInfo; [r]

  

Raw interface parent.

  property IIDStr: ShortString; [r]

  

IID string representation of interface

  property ElType2: PTypeInfo; [r]

  

Dynamical array Element type

  property ElType: PTypeInfo; [r]

  

Dynamical array Element type

  property InstanceType: PTypeInfo; [r]

  

Pointer to instance type data

  property RefType: PTypeInfo; [r]

  

Type info for referred type (Nil for untyped pointer)

  case TTypeKind of

    tkUnKnown, tkLString, tkWString, tkVariant, tkUString: (

      );

    tkAString: (

        CodePage: Word;

  

Codepage for a single-byte string type

      );

    tkInt64, tkQWord, 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;

  

Maximum value for the (subrange) type.

              case TTypeKind of

                tkEnumeration: (

                    BaseTypeRef: PPTypeInfo;

                    NameList: ShortString;

  

List of names for an enumerated 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.

            );

          tkSet: (

              SetSize: SizeInt;

              CompTypeRef: PPTypeInfo;

            );

      );

    tkFloat: (

        FloatType: TFloatType;

  

Float type

      );

    tkSString: (

        MaxLength: Byte;

  

Maximum length (for a shortstring type)

      );

    tkClass: (

        ClassType: TClass;

  

Class type

        ParentInfoRef: PPTypeInfo;

        PropCount: SmallInt;

  

Property count for class type

        UnitName: ShortString;

  

Unit name in which type is defined.

      );

    tkRecord: (

        RecInitInfo: Pointer;

        RecSize: Integer;

  

Record size for records

        case Boolean of

          False: (

              ManagedFldCount: Integer;

  

Number of managed fields (followed by managed field info)

            );

          True: (

              TotalFieldCount: Integer;

            );

      );

    tkHelper: (

        HelperParentRef: PPTypeInfo;

        ExtendedInfoRef: PPTypeInfo;

        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

      );

    tkInterface: (

        IntfParentRef: PPTypeInfo;

        IntfFlags: TIntfFlagsBase;

  

Interface flags

        GUID: TGuid;

  

GUID identification for interface

        IntfUnit: ShortString;

  

Interface unit.

      );

    tkInterfaceRaw: (

        RawIntfParentRef: PPTypeInfo;

        RawIntfFlags: TIntfFlagsBase;

  

Raw interface parent flags.

        IID: TGuid;

  

GUID identifying raw interface.

        RawIntfUnit: ShortString;

  

Raw interface unit.

      );

    tkArray: (

        ArrayData: TArrayTypeData;

  

Array element data

      );

    tkDynArray: (

        elSize: PtrUInt;

  

Dynamical array element size

        elType2Ref: PPTypeInfo;

        varType: LongInt;

  

Dynamical array element type

        elTypeRef: PPTypeInfo;

        DynUnitName: ShortStringBase;

  

Unit name

      );

    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.


Documentation generated on: May 14 2021