Unit 'TypInfo' Package
[Overview][Constants][Types][Classes][Procedures and functions][Index] [#rtl]

TTypeData

Class properties type data record.

Declaration

Source position: typinfo.pp line 867

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]

  

Pointer to record initialization data.

  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).

  AttributeTable: PAttributeTable;

  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;

  

Pointer to RTTI of an enumerated type's base type.

                    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;

  

Set size in bytes.

              CompTypeRef: PPTypeInfo;

  

Element type reference.

            );

      );

    tkFloat: (

        FloatType: TFloatType;

  

Float type.

      );

    tkSString: (

        MaxLength: Byte;

  

Maximum length (for a shortstring type).

      );

    tkClass: (

        ClassType: TClass;

  

Class type.

        ParentInfoRef: PPTypeInfo;

  

Parent class type reference.

        PropCount: SmallInt;

  

Property count for class type.

        UnitName: ShortString;

  

Unit name in which type is defined.

      );

    tkRecord: (

        RecInitInfo: Pointer;

  

Record initialization info.

        RecSize: LongInt;

  

Record size for records.

        case Boolean of

          False: (

              ManagedFldCount: LongInt;

  

Number of managed fields (followed by managed field info).

            );

          True: (

              TotalFieldCount: LongInt;

  

Record field count.

            );

      );

    tkHelper: (

        HelperParentRef: PPTypeInfo;

  

Reference to parent helper type info.

        ExtendedInfoRef: PPTypeInfo;

  

Additional type info.

        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.

        case Boolean of

          False: (

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

  

Type data for parameters.

            );

          True: (

              ParamListDummy: Word;

            );

      );

    tkProcVar: (

        ProcSig: TProcedureSignature;

  

Procedure signature for procedure type.

      );

    tkInterface: (

        IntfParentRef: PPTypeInfo;

  

Reference to parent COM interface type info.

        IntfFlags: TIntfFlagsBase;

  

Interface flags.

        GUID: TGUID;

  

GUID identification for interface.

        ThunkClass: PPTypeInfo;

        IntfUnit: ShortString;

  

Interface unit.

      );

    tkInterfaceRaw: (

        RawIntfParentRef: PPTypeInfo;

  

Reference to parent CORBA interface type info.

        RawIntfFlags: TIntfFlagsBase;

  

Raw interface parent flags.

        IID: TGUID;

  

GUID identifying raw interface.

        RawThunkClass: PPTypeInfo;

        RawIntfUnit: ShortString;

  

Raw interface unit.

      );

    tkArray: (

        ArrayData: TArrayTypeData;

  

Array element data.

      );

    tkDynArray: (

        elSize: PtrUInt;

  

Dynamical array element size.

        elType2Ref: PPTypeInfo;

  

Reference to element type info.

        varType: LongInt;

  

Dynamical array element type.

        elTypeRef: PPTypeInfo;

  

Reference to element type info.

        DynUnitName: ShortStringBase;

  

Unit name.

      );

    tkClassRef: (

        InstanceTypeRef: PPTypeInfo;

  

Reference to class type info.

      );

    tkPointer: (

        RefTypeRef: PPTypeInfo;

  

Reference to referenced type info.

      );

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: Dec 26 2024