[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'System' (#rtl)

tvardata

Variant record.

Declaration

Source position: varianth.inc line 95

type tvardata = packed record

  vtype: tvartype;

  

Type of variant.

  case Integer of

    0: (

        res1: Word;

  

Reserved byte

        case Integer of

          0: (

              res2: Word;

  

Reserved byte

              res3: Word;

  

Reserved byte

              case Word of

                varsmallint: (

                    vsmallint: SmallInt;

  

Smallint value

                  );

                varinteger: (

                    vinteger: LongInt;

  

Integer value

                  );

                varsingle: (

                    vsingle: single;

  

Single value

                  );

                vardouble: (

                    vdouble: Double;

  

Double value

                  );

                vardate: (

                    vdate: TDateTime;

  

TDateTime value

                  );

                varcurrency: (

                    vcurrency: currency;

  

Currency value

                  );

                varolestr: (

                    volestr: PWideChar;

  

OLE string value (specially allocated widestring)

                  );

                vardispatch: (

                    vdispatch: pointer;

  

Dispatch interface value

                  );

                varerror: (

                    verror: HRESULT;

  

Error value

                  );

                varboolean: (

                    vboolean: wordbool;

  

Boolean value

                  );

                varunknown: (

                    vunknown: pointer;

  

IUnknown interface value

                  );

                varustring: (

                    vustring: pointer;

                  );

                varshortint: (

                    vshortint: ShortInt;

  

Shortint value

                  );

                varbyte: (

                    vbyte: Byte;

  

Byte value

                  );

                varword: (

                    vword: Word;

  

Word value

                  );

                varlongword: (

                    vlongword: DWord;

  

Longword value

                  );

                varint64: (

                    vint64: Int64;

  

Int64 value

                  );

                varqword: (

                    vqword: QWord;

  

QWord value

                  );

                varword64: (

                    vword64: QWord;

  

QWord value (?)

                  );

                varstring: (

                    vstring: pointer;

  

Ansistring value

                  );

                varany: (

                    vany: pointer;

  

Any value

                  );

                vararray: (

                    varray: pvararray;

  

Variant array value

                  );

                varbyref: (

                    vpointer: pointer;

  

Pointer value

                  );

                varrecord: (

                    vrecord: pointer;

  

Pointer to record

                    precinfo: pointer;

  

Pointer to record type info data

                  );

            );

          1: (

              vlongs: array [0..2] of LongInt;

  

Value as an array of longints

            );

      );

    1: (

        vwords: array [0..6] of Word;

  

Value as an array of words

      );

    2: (

        vbytes: array [0..13] of Byte;

  

Value as an array of bytes

      );

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.


Documentation generated on: May 14 2021