System.TVarRec
Delphi
TVarRec = record { do not pack this record; it is compiler-generated }
case Integer of
0: (case Byte of
vtInteger: (VInteger: Integer);
vtBoolean: (VBoolean: Boolean);
vtChar: (VChar: _AnsiChr);
vtExtended: (VExtended: PExtended);
{$IFNDEF NEXTGEN}
vtString: (VString: _PShortStr);
{$ENDIF !NEXTGEN}
vtPointer: (VPointer: Pointer);
vtPChar: (VPChar: _PAnsiChr);
{$IFDEF AUTOREFCOUNT}
vtObject: (VObject: Pointer);
{$ELSE}
vtObject: (VObject: TObject);
{$ENDIF}
vtClass: (VClass: TClass);
vtWideChar: (VWideChar: WideChar);
vtPWideChar: (VPWideChar: PWideChar);
vtAnsiString: (VAnsiString: Pointer);
vtCurrency: (VCurrency: PCurrency);
vtVariant: (VVariant: PVariant);
vtInterface: (VInterface: Pointer);
vtWideString: (VWideString: Pointer);
vtInt64: (VInt64: PInt64);
vtUnicodeString: (VUnicodeString: Pointer);
);
1: (_Reserved1: NativeInt;
VType: Byte;
);
end;
C++
class TVarRec
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
record struct |
public | System.pas systvar.h |
System | System |
Beschreibung
TVarRec wird in einer Funktion mit einem untypisierten Array-Parameter verwendet.
Der Typ TVarRec wird in Delphi in einer Funktion mit einem Parametertyp eines Konstanten-Arrays verwendet. In Delphi übersetzt der Compiler automatisch jedes Element im Array in einen TVarRec-Wert. In C++ erscheint der Funktionsparameter als ein Array mit TVarRec-Werten.
Verwenden Sie TVarRec, um beim Implementieren der Funktion, die über ein Array mit Konstantenparametern verfügt, mit einzelnen Elementen des Arrays zu arbeiten.
Das Feld VType gibt den einfachen Typ jedes TVarRec-Wertes an. Die variablen Typkonstanten repräsentieren die Werte, die im Tag der TVarRec-Struktur übergeben werden. Diese im Folgenden aufgeführten Konstanten sind in der Unit System definiert.
Delphi-Konstanten:
vtInteger |
= 0; |
vtBoolean |
= 1; |
vtCharacter |
= 2; |
vtExtended |
= 3; |
vtString |
= 4; |
vtPointer |
= 5; |
vtPChar |
= 6; |
vtObject |
= 7; |
vtClass |
= 8; |
vtWideChar |
= 9; |
vtPWideChar |
= 10; |
vtAnsiString |
= 11; |
vtCurrency |
= 12; |
vtVariant |
= 13; |
vtInterface |
= 14; |
vtWideString |
= 15; |
vtInt64 |
= 16; |
C++-Konstanten:
static const Shortint vtInteger |
= 0x0; |
static const Shortint vtBoolean |
= 0x1; |
static const Shortint vtCharacter |
= 0x2; |
static const Shortint vtExtended |
= 0x3; |
static const Shortint vtString |
= 0x4; |
static const Shortint vtPointer |
= 0x5; |
static const Shortint vtPChar |
= 0x6; |
static const Shortint vtObject |
= 0x7; |
static const Shortint vtClass |
= 0x8; |
static const Shortint vtWideChar |
= 0x9; |
static const Shortint vtPWideChar |
= 0xa; |
static const Shortint vtAnsiString |
= 0xb; |
static const Shortint vtCurrency |
= 0xc; |
static const Shortint vtVariant |
= 0xd; |
static const Shortint vtInterface |
= 0xe; |
static const Shortint vtWideString |
= 0xf; |
static const Shortint vtInt64 |
= 0x10; |
Anmerkung: In C++ können Sie mit dem Makro ARRAYOFCONST ein Array mit TVarRec-Werten erstellen, das in sysopen.h definiert ist.