Show: Delphi
C++
Display Preferences
System.TypInfo.TTypeData
From XE2 API Documentation
Delphi
TTypeData = packed record case TTypeKind of tkUnknown: (); tkWString, tkUString, tkVariant: (AttrData: TAttrData); tkLString: ( CodePage: Word {LStrAttrData: TAttrData}); tkInteger, tkChar, tkEnumeration, tkSet, tkWChar: ( OrdType: TOrdType; case TTypeKind of tkInteger, tkChar, tkEnumeration, tkWChar: ( MinValue: Longint; MaxValue: Longint; case TTypeKind of tkInteger, tkChar, tkWChar: (); tkEnumeration: ( BaseType: PPTypeInfo; NameList: ShortStringBase; {EnumUnitName: ShortStringBase; EnumAttrData: TAttrData})); tkSet: ( CompType: PPTypeInfo {SetAttrData: TAttrData})); tkFloat: ( FloatType: TFloatType {FloatAttrData: TAttrData}); tkString: ( MaxLength: Byte {StrAttrData: TAttrData}); tkClass: ( ClassType: TClass; // most data for instance types is in VMT offsets ParentInfo: PPTypeInfo; PropCount: SmallInt; // total properties inc. ancestors UnitName: ShortStringBase; {PropData: TPropData; PropDataEx: TPropDataEx; ClassAttrData: TAttrData; ArrayPropCount: Word; ArrayPropData: array[1..ArrayPropCount] of TArrayPropInfo;}); tkMethod: ( MethodKind: TMethodKind; // only mkFunction or mkProcedure ParamCount: Byte; ParamList: array[0..1023] of AnsiChar {ParamList: array[1..ParamCount] of record Flags: TParamFlags; ParamName: ShortString; TypeName: ShortString; end;
C++
struct DECLSPEC_DRECORD TTypeData{ union { struct { TArrayTypeData ArrayData; }; struct { PTypeInfo *RefType; TAttrData PtrAttrData; }; struct { PTypeInfo *InstanceType; TAttrData ClassRefAttrData; }; struct { int RecSize; int ManagedFldCount; }; struct { int elSize; PTypeInfo *elType; int varType; PTypeInfo *elType2; ShortStringBase DynUnitName; }; struct { __int64 MinInt64Value; __int64 MaxInt64Value; TAttrData Int64AttrData; }; struct { PTypeInfo *IntfParent; TIntfFlagsBase IntfFlags; GUID Guid; ShortStringBase IntfUnit; }; struct { TProcedureSignature *ProcSig; TAttrData ProcAttrData; }; struct { TMethodKind MethodKind; System::Byte ParamCount; System::StaticArray<char, 1024> ParamList; }; struct { System::TClass ClassType; PTypeInfo *ParentInfo; short PropCount; ShortStringBase UnitName; }; struct { System::Byte MaxLength; }; struct { TFloatType FloatType; }; struct { TOrdType OrdType; union { struct { PTypeInfo *CompType; }; struct { int MinValue; int MaxValue; union { struct { PTypeInfo *BaseType; ShortStringBase NameList; }; }; }; }; }; struct { System::Word CodePage; }; struct { TAttrData AttrData; }; }; };
Properties
| Type | Visibility | Source | Unit | Parent |
|---|---|---|---|---|
struct class |
public | System.TypInfo.pas System.TypInfo.hpp |
System.TypInfo | System.TypInfo |
Description
TTypeData is used internally to represent type information.
A TTypeData structure represents a category of properties, events, or methods in parameters passed to several routines in the TypInfo unit.