System.TVariantManager
Delphi
TVariantManager = record
VarClear: procedure(var V : Variant);
VarCopy: procedure(var Dest: Variant; const Source: Variant);
VarCopyNoInd: procedure; // ARGS PLEASE!
VarCast: procedure(var Dest: Variant; const Source: Variant; VarType: Integer);
VarCastOle: procedure(var Dest: Variant; const Source: Variant; VarType: Integer);
VarToInt: function(const V: Variant): Integer;
VarToInt64: function(const V: Variant): Int64;
VarToBool: function(const V: Variant): Boolean;
VarToReal: function(const V: Variant): Extended;
VarToCurr: function(const V: Variant): Currency;
VarToPStr: procedure(var S; const V: Variant);
VarToLStr: procedure(var S: string; const V: Variant);
VarToWStr: procedure(var S: _WideStr; const V: Variant);
VarToIntf: procedure(var Unknown: IInterface; const V: Variant);
VarToDisp: procedure(var Dispatch: IDispatch; const V: Variant);
VarToDynArray: procedure(var DynArray: Pointer; const V: Variant; TypeInfo: Pointer);
VarFromInt: procedure(var V: Variant; const Value: Integer; const Range: ShortInt);
VarFromInt64: procedure(var V: Variant; const Value: Int64);
VarFromBool: procedure(var V: Variant; const Value: Boolean);
VarFromReal: procedure; // var V: Variant; const Value: Real
VarFromTDateTime: procedure; // var V: Variant; const Value: TDateTime
VarFromCurr: procedure; // var V: Variant; const Value: Currency
VarFromPStr: procedure(var V: Variant; const Value: _ShortStr);
VarFromLStr: procedure(var V: Variant; const Value: string);
VarFromWStr: procedure(var V: Variant; const Value: _WideStr);
VarFromIntf: procedure(var V: Variant; const Value: IInterface);
VarFromDisp: procedure(var V: Variant; const Value: IDispatch);
VarFromDynArray: procedure(var V: Variant; const DynArray: Pointer; TypeInfo: Pointer);
OleVarFromPStr: procedure(var V: OleVariant; const Value: _ShortStr);
OleVarFromLStr: procedure(var V: OleVariant; const Value: string);
OleVarFromVar: procedure(var V: OleVariant; const Value: Variant);
OleVarFromInt: procedure(var V: OleVariant; const Value: Integer; const Range: ShortInt);
OleVarFromInt64: procedure(var V: OleVariant; const Value: Int64);
VarOp: procedure(var Left: Variant; const Right: Variant; OpCode: TVarOp);
VarCmp: procedure(const Left, Right: TVarData; const OpCode: TVarOp); { result is set in the flags }
VarNeg: procedure(var V: Variant);
VarNot: procedure(var V: Variant);
DispInvoke: procedure(Dest: PVarData; const Source: TVarData;
CallDesc: PCallDesc; Params: Pointer); cdecl;
VarAddRef: procedure(var V: Variant);
VarArrayRedim: procedure(var A : Variant; HighBound: Integer);
VarArrayGet: function(var A: Variant; IndexCount: Integer;
Indices: Integer): Variant; cdecl;
VarArrayPut: procedure(var A: Variant; const Value: Variant;
IndexCount: Integer; Indices: Integer); cdecl;
WriteVariant: function(var T: Text; const V: Variant; Width: Integer): Pointer;
Write0Variant: function(var T: Text; const V: Variant): Pointer;
end deprecated;
C++
struct DECLSPEC_DRECORD TVariantManager _DEPRECATED_ATTRIBUTE0
{
public:
void __fastcall (*VarClear)(Variant &V);
void __fastcall (*VarCopy)(Variant &Dest, const Variant &Source);
void __fastcall (*VarCopyNoInd)(void);
void __fastcall (*VarCast)(Variant &Dest, const Variant &Source, int VarType);
void __fastcall (*VarCastOle)(Variant &Dest, const Variant &Source, int VarType);
int __fastcall (*VarToInt)(const Variant &V);
__int64 __fastcall (*VarToInt64)(const Variant &V);
bool __fastcall (*VarToBool)(const Variant &V);
Extended __fastcall (*VarToReal)(const Variant &V);
Currency __fastcall (*VarToCurr)(const Variant &V);
void __fastcall (*VarToPStr)(void *S, const Variant &V);
void __fastcall (*VarToLStr)(UnicodeString &S, const Variant &V);
void __fastcall (*VarToWStr)(WideString &S, const Variant &V);
void __fastcall (*VarToIntf)(_di_IInterface &Unknown, const Variant &V);
void __fastcall (*VarToDisp)(_di_IDispatch &Dispatch, const Variant &V);
void __fastcall (*VarToDynArray)(void * &DynArray, const Variant &V, void * TypeInfo);
void __fastcall (*VarFromInt)(Variant &V, const int Value, const Int8 Range);
void __fastcall (*VarFromInt64)(Variant &V, const __int64 Value);
void __fastcall (*VarFromBool)(Variant &V, const bool Value);
void __fastcall (*VarFromReal)(void);
void __fastcall (*VarFromTDateTime)(void);
void __fastcall (*VarFromCurr)(void);
void __fastcall (*VarFromPStr)(Variant &V, const ShortString &Value);
void __fastcall (*VarFromLStr)(Variant &V, const UnicodeString Value);
void __fastcall (*VarFromWStr)(Variant &V, const WideString Value);
void __fastcall (*VarFromIntf)(Variant &V, const _di_IInterface Value);
void __fastcall (*VarFromDisp)(Variant &V, const _di_IDispatch Value);
void __fastcall (*VarFromDynArray)(Variant &V, const void * DynArray, void * TypeInfo);
void __fastcall (*OleVarFromPStr)(OleVariant &V, const ShortString &Value);
void __fastcall (*OleVarFromLStr)(OleVariant &V, const UnicodeString Value);
void __fastcall (*OleVarFromVar)(OleVariant &V, const Variant &Value);
void __fastcall (*OleVarFromInt)(OleVariant &V, const int Value, const Int8 Range);
void __fastcall (*OleVarFromInt64)(OleVariant &V, const __int64 Value);
void __fastcall (*VarOp)(Variant &Left, const Variant &Right, int OpCode);
void __fastcall (*VarCmp)(const TVarData &Left, const TVarData &Right, const int OpCode);
void __fastcall (*VarNeg)(Variant &V);
void __fastcall (*VarNot)(Variant &V);
void __cdecl (*DispInvoke)(PVarData Dest, const TVarData &Source, PCallDesc CallDesc, void * Params);
void __fastcall (*VarAddRef)(Variant &V);
void __fastcall (*VarArrayRedim)(Variant &A, int HighBound);
Variant __cdecl (*VarArrayGet)(Variant &A, int IndexCount, int Indices);
void __cdecl (*VarArrayPut)(Variant &A, const Variant &Value, int IndexCount, int Indices);
void * __fastcall (*WriteVariant)(TextFile &T, const Variant &V, int Width);
void * __fastcall (*Write0Variant)(TextFile &T, const Variant &V);
};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Beschreibung
Warnung: TVariantManager ist veraltet.
TVariantManager definiert Eintrittspunkte für Routinen zur Umwandlung von Varianten und für andere Prozeduren, die das Verhalten von Varianten definieren.
Der Typ TVariantManager wird von den Prozeduren GetVariantManager und SetVariantManager verwendet. Er definiert Routinen, die Variant-Typumwandlungen und andere Aufgaben durchführen, die das Verhalten von Varianten implementieren.
Anmerkung: Obwohl eine Version von TVariantManager in sysclass.h deklariert ist, sollte der Typ nicht in C++-Code verwendet werden. Die Verwendung eines Variant-Managers zur Anpassung des Verhaltens von Varianten wird in C++ nicht vollständig unterstützt.