Anzeigen: Delphi C++
Anzeigeeinstellungen

System.TypInfo.TTypeData

Aus XE2 API Documentation
Wechseln zu: Navigation, Suche

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;
};
};
};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
struct
class
public
System.TypInfo.pas
System.TypInfo.hpp
System.TypInfo System.TypInfo

Beschreibung

Mit TTypeData werden intern Typinformationen repräsentiert.

In einer TTypeData-Struktur wird eine Kategorie von Eigenschaften, Ereignissen oder Methoden repräsentiert, die an mehrere Routinen in der Unit TypInfo übergeben werden.

Siehe auch

Frühere Versionen
Übersetzungen