Difference between revisions of "TVarRec"

From Free Pascal wiki
Jump to navigationJump to search
(Create)
 
Line 1: Line 1:
A TVarRec is a variant record used with the [[Const#Array of Const|array of const]] parameter declaration. The VType member is checked by the user to determine which data type is stored in the record.
+
A '''TVarRec''' is a [[variant record]] used with the [[Const#Array of Const|array of const]] parameter declaration. The VType member is checked by the user to determine which data type is stored in the record.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 34: Line 34:
 
       end;
 
       end;
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
[[Category;Data types]]

Revision as of 00:27, 27 July 2016

A TVarRec is a variant record used with the array of const parameter declaration. The VType member is checked by the user to determine which data type is stored in the record.

     TVarRec = record
         case VType : sizeint of
{$ifdef ENDIAN_BIG}
           vtInteger       : ({$IFDEF CPU64}integerdummy1 : Longint;{$ENDIF CPU64}VInteger: Longint);
           vtBoolean       : ({$IFDEF CPU64}booldummy : Longint;{$ENDIF CPU64}booldummy1,booldummy2,booldummy3: byte; VBoolean: Boolean);
           vtChar          : ({$IFDEF CPU64}chardummy : Longint;{$ENDIF CPU64}chardummy1,chardummy2,chardummy3: byte; VChar: Char);
           vtWideChar      : ({$IFDEF CPU64}widechardummy : Longint;{$ENDIF CPU64}wchardummy1,VWideChar: WideChar);
{$else ENDIAN_BIG}
           vtInteger       : (VInteger: Longint);
           vtBoolean       : (VBoolean: Boolean);
           vtChar          : (VChar: Char);
           vtWideChar      : (VWideChar: WideChar);
{$endif ENDIAN_BIG}
{$ifndef FPUNONE}
           vtExtended      : (VExtended: PExtended);
{$endif}
           vtString        : (VString: PShortString);
           vtPointer       : (VPointer: Pointer);
           vtPChar         : (VPChar: PAnsiChar);
           vtObject        : (VObject: TObject);
           vtClass         : (VClass: TClass);
           vtPWideChar     : (VPWideChar: PWideChar);
           vtAnsiString    : (VAnsiString: Pointer);
           vtCurrency      : (VCurrency: PCurrency);
           vtVariant       : (VVariant: PVariant);
           vtInterface     : (VInterface: Pointer);
           vtWideString    : (VWideString: Pointer);
           vtInt64         : (VInt64: PInt64);
           vtUnicodeString : (VUnicodeString: Pointer);
           vtQWord         : (VQWord: PQWord);
       end;

Category;Data types