[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 114

type TTypeData = packed record

  case TTypeKind of

    tkUnKnown, tkLString, tkWString, tkAString, tkVariant, tkUString: (

      );

    tkInteger, tkChar, tkEnumeration, 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.

      );

    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

      );

    tkDynArray: (

        elSize: PtrUInt;

  

Dynamical array element size

        elType2: PPTypeInfo;

  

Dynamical array Element type

        varType: LongInt;

  

Dynamical array element type

        elType: PPTypeInfo;

  

Dynamical array Element type

        DynUnitName: ShortStringBase;

  

Unit name

      );

end;

Description

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

The latest version of this document can be found at lazarus-ccr.sourceforge.net.