Class properties type data record.
Source position: typinfo.pp line 867
| type TTypeData = packed record | ||
| public | ||
| 
 | Base type on which this type is based. | |
| 
 | 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. | 
| 
 | Dynamical array Element type. | |
| 
 | Dynamical array Element type. | |
| property InstanceType: PTypeInfo; [r] | 
 | Pointer to instance type data. | 
| 
 | 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; | 
If the typeinfo kind is tkClass, then the property information follows the UnitName string, as an array of TPropInfo records.