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

TTypeData

Class properties type data record.

Declaration

Source position: typinfo.pp line 82

type TTypeData = packed record

  case TTypeKind of

    tkUnKnown, tkLString, tkWString, tkAString, tkVariant: (

      );

    tkInteger, tkChar, tkEnumeration, tkWChar: (

        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.

      );

    tkMethod: (

        MethodKind: TMethodKind;

  

Kind of method

        ParamCount: Byte;

  

Method parameter count

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

  

Type data for parameters

      );

    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

      );

end;

Description

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