tvardata

Variant record.

Declaration

Source position: varianth.inc line 95

Type
tvardata = packed record
public
  vtype : tvartype;
case Integer of
0: (
public
  res1 : Word;
case Integer of
0: (
public
  res2 : Word;
  res3 : Word;
case Word of
varsmallint: (
public
  vsmallint : SmallInt;
);
varinteger: (
public
  vinteger : LongInt;
);
varsingle: (
public
  vsingle : single;
);
vardouble: (
public
  vdouble : Double;
);
vardate: (
public
  vdate : TDateTime;
);
varcurrency: (
public
  vcurrency : currency;
);
varolestr: (
public
  volestr : PWideChar;
);
vardispatch: (
public
  vdispatch : pointer;
);
varerror: (
public
  verror : HRESULT;
);
varboolean: (
public
  vboolean : wordbool;
);
varunknown: (
public
  vunknown : pointer;
);
varustring: (
public
  vustring : pointer;
);
varshortint: (
public
  vshortint : ShortInt;
);
varbyte: (
public
  vbyte : Byte;
);
varword: (
public
  vword : Word;
);
varlongword: (
public
  vlongword : DWord;
);
varint64: (
public
  vint64 : Int64;
);
varqword: (
public
  vqword : QWord;
);
varword64: (
public
  vword64 : QWord;
);
varstring: (
public
  vstring : pointer;
);
varany: (
public
  vany : pointer;
);
vararray: (
public
  varray : pvararray;
);
varbyref: (
public
  vpointer : pointer;
);
varrecord: (
public
  vrecord : pointer;
  precinfo : pointer;
);
);
1: (
public
  vlongs : Array[0..2] of LongInt;
);
);
1: (
public
  vwords : Array[0..6] of Word;
);
2: (
public
  vbytes : Array[0..13] of Byte;
);
end

Description

TVarData is a record representation of a variant. It contains the internal structure of a variant and is handled by the various variant handling routines.