Unit 'System' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#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;

  

UnicodeString argument.

                  );

                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: Jul 24 2023