|
@@ -83,8 +83,8 @@ function VarIsNumeric(const V: Variant): Boolean; inline;
|
|
function VarIsStr(const V: Variant): Boolean;
|
|
function VarIsStr(const V: Variant): Boolean;
|
|
function VarIsBool(const V: Variant): Boolean; inline;
|
|
function VarIsBool(const V: Variant): Boolean; inline;
|
|
|
|
|
|
-function VarToStr(const V: Variant): string;
|
|
|
|
-function VarToStrDef(const V: Variant; const ADefault: string): string;
|
|
|
|
|
|
+function VarToStr(const V: Variant): AnsiString;
|
|
|
|
+function VarToStrDef(const V: Variant; const ADefault: AnsiString): AnsiString;
|
|
function VarToWideStr(const V: Variant): WideString;
|
|
function VarToWideStr(const V: Variant): WideString;
|
|
function VarToWideStrDef(const V: Variant; const ADefault: WideString): WideString;
|
|
function VarToWideStrDef(const V: Variant; const ADefault: WideString): WideString;
|
|
function VarToUnicodeStr(const V: Variant): UnicodeString;
|
|
function VarToUnicodeStr(const V: Variant): UnicodeString;
|
|
@@ -182,9 +182,9 @@ type
|
|
procedure VarDataCastTo(var Dest: TVarData; const Source: TVarData; const aVarType: TVarType); overload;
|
|
procedure VarDataCastTo(var Dest: TVarData; const Source: TVarData; const aVarType: TVarType); overload;
|
|
procedure VarDataCastTo(var Dest: TVarData; const aVarType: TVarType); overload;
|
|
procedure VarDataCastTo(var Dest: TVarData; const aVarType: TVarType); overload;
|
|
procedure VarDataCastToOleStr(var Dest: TVarData);
|
|
procedure VarDataCastToOleStr(var Dest: TVarData);
|
|
- procedure VarDataFromStr(var V: TVarData; const Value: string);
|
|
|
|
|
|
+ procedure VarDataFromStr(var V: TVarData; const Value: AnsiString);
|
|
procedure VarDataFromOleStr(var V: TVarData; const Value: WideString);
|
|
procedure VarDataFromOleStr(var V: TVarData; const Value: WideString);
|
|
- function VarDataToStr(const V: TVarData): string;
|
|
|
|
|
|
+ function VarDataToStr(const V: TVarData): AnsiString;
|
|
function VarDataIsEmptyParam(const V: TVarData): Boolean;
|
|
function VarDataIsEmptyParam(const V: TVarData): Boolean;
|
|
function VarDataIsByRef(const V: TVarData): Boolean;
|
|
function VarDataIsByRef(const V: TVarData): Boolean;
|
|
function VarDataIsArray(const V: TVarData): Boolean;
|
|
function VarDataIsArray(const V: TVarData): Boolean;
|
|
@@ -214,12 +214,12 @@ type
|
|
IVarInvokeable = interface
|
|
IVarInvokeable = interface
|
|
['{1CB65C52-BBCB-41A6-9E58-7FB916BEEB2D}']
|
|
['{1CB65C52-BBCB-41A6-9E58-7FB916BEEB2D}']
|
|
function DoFunction(var Dest: TVarData; const V: TVarData;
|
|
function DoFunction(var Dest: TVarData; const V: TVarData;
|
|
- const Name: string; const Arguments: TVarDataArray): Boolean;
|
|
|
|
- function DoProcedure(const V: TVarData; const Name: string;
|
|
|
|
|
|
+ const Name: AnsiString; const Arguments: TVarDataArray): Boolean;
|
|
|
|
+ function DoProcedure(const V: TVarData; const Name: AnsiString;
|
|
const Arguments: TVarDataArray): Boolean;
|
|
const Arguments: TVarDataArray): Boolean;
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
- const Name: string): Boolean;
|
|
|
|
- function SetProperty(var V: TVarData; const Name: string;
|
|
|
|
|
|
+ const Name: AnsiString): Boolean;
|
|
|
|
+ function SetProperty(var V: TVarData; const Name: AnsiString;
|
|
const Value: TVarData): Boolean;
|
|
const Value: TVarData): Boolean;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -230,12 +230,12 @@ type
|
|
public
|
|
public
|
|
{ IVarInvokeable }
|
|
{ IVarInvokeable }
|
|
function DoFunction(var Dest: TVarData; const V: TVarData;
|
|
function DoFunction(var Dest: TVarData; const V: TVarData;
|
|
- const Name: string; const Arguments: TVarDataArray): Boolean; virtual;
|
|
|
|
- function DoProcedure(const V: TVarData; const Name: string;
|
|
|
|
|
|
+ const Name: AnsiString; const Arguments: TVarDataArray): Boolean; virtual;
|
|
|
|
+ function DoProcedure(const V: TVarData; const Name: AnsiString;
|
|
const Arguments: TVarDataArray): Boolean; virtual;
|
|
const Arguments: TVarDataArray): Boolean; virtual;
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
- const Name: string): Boolean; virtual;
|
|
|
|
- function SetProperty(var V: TVarData; const Name: string;
|
|
|
|
|
|
+ const Name: AnsiString): Boolean; virtual;
|
|
|
|
+ function SetProperty(var V: TVarData; const Name: AnsiString;
|
|
const Value: TVarData): Boolean; virtual;
|
|
const Value: TVarData): Boolean; virtual;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -250,14 +250,14 @@ type
|
|
function GetInstance(const V: TVarData): TObject; virtual; abstract;
|
|
function GetInstance(const V: TVarData): TObject; virtual; abstract;
|
|
public
|
|
public
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
function GetProperty(var Dest: TVarData; const V: TVarData;
|
|
- const Name: string): Boolean; override;
|
|
|
|
- function SetProperty(var V: TVarData; const Name: string;
|
|
|
|
|
|
+ const Name: AnsiString): Boolean; override;
|
|
|
|
+ function SetProperty(var V: TVarData; const Name: AnsiString;
|
|
const Value: TVarData): Boolean; override;
|
|
const Value: TVarData): Boolean; override;
|
|
end;
|
|
end;
|
|
|
|
|
|
function FindCustomVariantType(const aVarType: TVarType;
|
|
function FindCustomVariantType(const aVarType: TVarType;
|
|
out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
- function FindCustomVariantType(const TypeName: string;
|
|
|
|
|
|
+ function FindCustomVariantType(const TypeName: AnsiString;
|
|
out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
|
|
|
|
type
|
|
type
|
|
@@ -276,7 +276,7 @@ var
|
|
NullEqualityRule: TNullCompareRule = ncrLoose;
|
|
NullEqualityRule: TNullCompareRule = ncrLoose;
|
|
NullMagnitudeRule: TNullCompareRule = ncrLoose;
|
|
NullMagnitudeRule: TNullCompareRule = ncrLoose;
|
|
NullStrictConvert: Boolean = true;
|
|
NullStrictConvert: Boolean = true;
|
|
- NullAsStringValue: string = '';
|
|
|
|
|
|
+ NullAsStringValue: AnsiString = '';
|
|
PackVarCreation: Boolean = True;
|
|
PackVarCreation: Boolean = True;
|
|
{$ifndef FPUNONE}
|
|
{$ifndef FPUNONE}
|
|
OleVariantInt64AsDouble: Boolean = False;
|
|
OleVariantInt64AsDouble: Boolean = False;
|
|
@@ -312,11 +312,11 @@ procedure VarArrayCreateError;
|
|
procedure VarResultCheck(AResult: HRESULT);{$IFDEF VARIANTINLINE}inline;{$ENDIF VARIANTINLINE}
|
|
procedure VarResultCheck(AResult: HRESULT);{$IFDEF VARIANTINLINE}inline;{$ENDIF VARIANTINLINE}
|
|
procedure VarResultCheck(AResult: HRESULT; ASourceType, ADestType: TVarType);
|
|
procedure VarResultCheck(AResult: HRESULT; ASourceType, ADestType: TVarType);
|
|
procedure HandleConversionException(const ASourceType, ADestType: TVarType);
|
|
procedure HandleConversionException(const ASourceType, ADestType: TVarType);
|
|
-function VarTypeAsText(const AType: TVarType): string;
|
|
|
|
|
|
+function VarTypeAsText(const AType: TVarType): AnsiString;
|
|
function FindVarData(const V: Variant): PVarData;
|
|
function FindVarData(const V: Variant): PVarData;
|
|
|
|
|
|
const
|
|
const
|
|
- VarOpAsText : array[TVarOp] of string = (
|
|
|
|
|
|
+ VarOpAsText : array[TVarOp] of AnsiString = (
|
|
'+', {opAdd}
|
|
'+', {opAdd}
|
|
'-', {opSubtract}
|
|
'-', {opSubtract}
|
|
'*', {opMultiply}
|
|
'*', {opMultiply}
|
|
@@ -345,8 +345,8 @@ const
|
|
Function GetPropValue(Instance: TObject; PropInfo: PPropInfo; PreferStrings: Boolean): Variant; overload;
|
|
Function GetPropValue(Instance: TObject; PropInfo: PPropInfo; PreferStrings: Boolean): Variant; overload;
|
|
Procedure SetPropValue(Instance: TObject; PropInfo: PPropInfo; const Value: Variant); overload;
|
|
Procedure SetPropValue(Instance: TObject; PropInfo: PPropInfo; const Value: Variant); overload;
|
|
Function GetVariantProp(Instance: TObject; PropInfo : PPropInfo): Variant;
|
|
Function GetVariantProp(Instance: TObject; PropInfo : PPropInfo): Variant;
|
|
-Function GetVariantProp(Instance: TObject; const PropName: string): Variant;
|
|
|
|
-Procedure SetVariantProp(Instance: TObject; const PropName: string; const Value: Variant);
|
|
|
|
|
|
+Function GetVariantProp(Instance: TObject; const PropName: AnsiString): Variant;
|
|
|
|
+Procedure SetVariantProp(Instance: TObject; const PropName: AnsiString; const Value: Variant);
|
|
Procedure SetVariantProp(Instance: TObject; PropInfo : PPropInfo; const Value: Variant);
|
|
Procedure SetVariantProp(Instance: TObject; PropInfo : PPropInfo; const Value: Variant);
|
|
|
|
|
|
|
|
|
|
@@ -390,7 +390,7 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
{ ---------------------------------------------------------------------
|
|
{ ---------------------------------------------------------------------
|
|
- String Messages
|
|
|
|
|
|
+ AnsiString Messages
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|
|
|
|
|
|
ResourceString
|
|
ResourceString
|
|
@@ -401,12 +401,12 @@ ResourceString
|
|
Auxiliary routines
|
|
Auxiliary routines
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|
|
|
|
|
|
-Procedure VariantError (Const Msg : String); inline;
|
|
|
|
|
|
+Procedure VariantError (Const Msg : AnsiString); inline;
|
|
begin
|
|
begin
|
|
Raise EVariantError.Create(Msg);
|
|
Raise EVariantError.Create(Msg);
|
|
end;
|
|
end;
|
|
|
|
|
|
-Procedure NotSupported(Meth: String);
|
|
|
|
|
|
+Procedure NotSupported(Meth: AnsiString);
|
|
begin
|
|
begin
|
|
Raise EVariantError.CreateFmt('Method %s not yet supported.',[Meth]);
|
|
Raise EVariantError.CreateFmt('Method %s not yet supported.',[Meth]);
|
|
end;
|
|
end;
|
|
@@ -1235,7 +1235,7 @@ end;
|
|
|
|
|
|
function DoVarCmpWStrDirect(const Left, Right: Pointer; const OpCode: TVarOp): ShortInt; inline;
|
|
function DoVarCmpWStrDirect(const Left, Right: Pointer; const OpCode: TVarOp): ShortInt; inline;
|
|
begin
|
|
begin
|
|
- { we can do this without ever copying the string }
|
|
|
|
|
|
+ { we can do this without ever copying the AnsiString }
|
|
if OpCode in [opCmpEq, opCmpNe] then
|
|
if OpCode in [opCmpEq, opCmpNe] then
|
|
if Length(WideString(Left)) <> Length(WideString(Right)) then
|
|
if Length(WideString(Left)) <> Length(WideString(Right)) then
|
|
Exit(-1);
|
|
Exit(-1);
|
|
@@ -1256,7 +1256,7 @@ end;
|
|
|
|
|
|
function DoVarCmpLStrDirect(const Left, Right: Pointer; const OpCode: TVarOp): ShortInt; inline;
|
|
function DoVarCmpLStrDirect(const Left, Right: Pointer; const OpCode: TVarOp): ShortInt; inline;
|
|
begin
|
|
begin
|
|
- { we can do this without ever copying the string }
|
|
|
|
|
|
+ { we can do this without ever copying the AnsiString }
|
|
if OpCode in [opCmpEq, opCmpNe] then
|
|
if OpCode in [opCmpEq, opCmpNe] then
|
|
if Length(AnsiString(Left)) <> Length(AnsiString(Right)) then
|
|
if Length(AnsiString(Left)) <> Length(AnsiString(Right)) then
|
|
Exit(-1);
|
|
Exit(-1);
|
|
@@ -2763,7 +2763,7 @@ begin
|
|
if arrayelementtype=varVariant then
|
|
if arrayelementtype=varVariant then
|
|
begin
|
|
begin
|
|
VarResultCheck(SafeArrayPtrOfIndex(p,PVarArrayCoorArray(indices),arraydest));
|
|
VarResultCheck(SafeArrayPtrOfIndex(p,PVarArrayCoorArray(indices),arraydest));
|
|
- { we can't store ansistrings in Variant arrays so we convert the string to
|
|
|
|
|
|
+ { we can't store ansistrings in Variant arrays so we convert the AnsiString to
|
|
an olestring }
|
|
an olestring }
|
|
if valuevtype=varString then
|
|
if valuevtype=varString then
|
|
begin
|
|
begin
|
|
@@ -3048,14 +3048,14 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function VarToStr(const V: Variant): string;
|
|
|
|
|
|
+function VarToStr(const V: Variant): AnsiString;
|
|
|
|
|
|
begin
|
|
begin
|
|
Result:=VarToStrDef(V,'');
|
|
Result:=VarToStrDef(V,'');
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function VarToStrDef(const V: Variant; const ADefault: string): string;
|
|
|
|
|
|
+function VarToStrDef(const V: Variant; const ADefault: AnsiString): AnsiString;
|
|
|
|
|
|
begin
|
|
begin
|
|
If TVarData(V).vType<>varNull then
|
|
If TVarData(V).vType<>varNull then
|
|
@@ -3675,7 +3675,7 @@ function FindCustomVariantType(const aVarType: TVarType; out CustomVariantType:
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function FindCustomVariantType(const TypeName: string; out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
|
|
|
|
+function FindCustomVariantType(const TypeName: AnsiString; out CustomVariantType: TCustomVariantType): Boolean; overload;
|
|
var
|
|
var
|
|
i: Integer;
|
|
i: Integer;
|
|
tmp: TCustomVariantType;
|
|
tmp: TCustomVariantType;
|
|
@@ -3869,7 +3869,7 @@ end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-procedure TCustomVariantType.VarDataFromStr(var V: TVarData; const Value: string);
|
|
|
|
|
|
+procedure TCustomVariantType.VarDataFromStr(var V: TVarData; const Value: AnsiString);
|
|
|
|
|
|
begin
|
|
begin
|
|
sysvarfromlstr(Variant(V),Value);
|
|
sysvarfromlstr(Variant(V),Value);
|
|
@@ -3883,7 +3883,7 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function TCustomVariantType.VarDataToStr(const V: TVarData): string;
|
|
|
|
|
|
+function TCustomVariantType.VarDataToStr(const V: TVarData): AnsiString;
|
|
|
|
|
|
begin
|
|
begin
|
|
sysvartolstr(Result,Variant(V));
|
|
sysvartolstr(Result,Variant(V));
|
|
@@ -4094,7 +4094,7 @@ const
|
|
argref_mask = $80;
|
|
argref_mask = $80;
|
|
begin
|
|
begin
|
|
arg_count := CallDesc^.ArgCount;
|
|
arg_count := CallDesc^.ArgCount;
|
|
- method_name := ansistring(pchar(@CallDesc^.ArgTypes[arg_count]));
|
|
|
|
|
|
+ method_name := ansistring(PAnsiChar(@CallDesc^.ArgTypes[arg_count]));
|
|
setLength(args, arg_count);
|
|
setLength(args, arg_count);
|
|
if arg_count > 0 then
|
|
if arg_count > 0 then
|
|
begin
|
|
begin
|
|
@@ -4214,25 +4214,25 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TInvokeableVariantType.DoFunction(var Dest: TVarData; const V: TVarData; const Name: string; const Arguments: TVarDataArray): Boolean;
|
|
|
|
|
|
+function TInvokeableVariantType.DoFunction(var Dest: TVarData; const V: TVarData; const Name: AnsiString; const Arguments: TVarDataArray): Boolean;
|
|
|
|
|
|
begin
|
|
begin
|
|
result := False;
|
|
result := False;
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TInvokeableVariantType.DoProcedure(const V: TVarData; const Name: string; const Arguments: TVarDataArray): Boolean;
|
|
|
|
|
|
+function TInvokeableVariantType.DoProcedure(const V: TVarData; const Name: AnsiString; const Arguments: TVarDataArray): Boolean;
|
|
begin
|
|
begin
|
|
result := False
|
|
result := False
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function TInvokeableVariantType.GetProperty(var Dest: TVarData; const V: TVarData; const Name: string): Boolean;
|
|
|
|
|
|
+function TInvokeableVariantType.GetProperty(var Dest: TVarData; const V: TVarData; const Name: AnsiString): Boolean;
|
|
begin
|
|
begin
|
|
result := False;
|
|
result := False;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function TInvokeableVariantType.SetProperty(var V: TVarData; const Name: string; const Value: TVarData): Boolean;
|
|
|
|
|
|
+function TInvokeableVariantType.SetProperty(var V: TVarData; const Name: AnsiString; const Value: TVarData): Boolean;
|
|
begin
|
|
begin
|
|
result := False;
|
|
result := False;
|
|
end;
|
|
end;
|
|
@@ -4242,14 +4242,14 @@ function TInvokeableVariantType.SetProperty(var V: TVarData; const Name: string;
|
|
TPublishableVariantType implementation
|
|
TPublishableVariantType implementation
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|
|
|
|
|
|
-function TPublishableVariantType.GetProperty(var Dest: TVarData; const V: TVarData; const Name: string): Boolean;
|
|
|
|
|
|
+function TPublishableVariantType.GetProperty(var Dest: TVarData; const V: TVarData; const Name: AnsiString): Boolean;
|
|
begin
|
|
begin
|
|
Result:=true;
|
|
Result:=true;
|
|
Variant(Dest):=TypInfo.GetPropValue(getinstance(v),name);
|
|
Variant(Dest):=TypInfo.GetPropValue(getinstance(v),name);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function TPublishableVariantType.SetProperty(var V: TVarData; const Name: string; const Value: TVarData): Boolean;
|
|
|
|
|
|
+function TPublishableVariantType.SetProperty(var V: TVarData; const Name: AnsiString; const Value: TVarData): Boolean;
|
|
begin
|
|
begin
|
|
Result:=true;
|
|
Result:=true;
|
|
TypInfo.SetPropValue(getinstance(v),name,Variant(value));
|
|
TypInfo.SetPropValue(getinstance(v),name,Variant(value));
|
|
@@ -4458,11 +4458,11 @@ procedure HandleConversionException(const ASourceType, ADestType: TVarType);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-function VarTypeAsText(const AType: TVarType): string;
|
|
|
|
|
|
+function VarTypeAsText(const AType: TVarType): AnsiString;
|
|
var
|
|
var
|
|
customvarianttype : TCustomVariantType;
|
|
customvarianttype : TCustomVariantType;
|
|
const
|
|
const
|
|
- names : array[varEmpty..varQWord] of string[8] = (
|
|
|
|
|
|
+ names : array[varEmpty..varQWord] of String[8] = (
|
|
'Empty','Null','Smallint','Integer','Single','Double','Currency','Date','OleStr','Dispatch','Error','Boolean','Variant',
|
|
'Empty','Null','Smallint','Integer','Single','Double','Currency','Date','OleStr','Dispatch','Error','Boolean','Variant',
|
|
'Unknown','Decimal','???','ShortInt','Byte','Word','DWord','Int64','QWord');
|
|
'Unknown','Decimal','???','ShortInt','Byte','Word','DWord','Int64','QWord');
|
|
begin
|
|
begin
|
|
@@ -4471,7 +4471,7 @@ function VarTypeAsText(const AType: TVarType): string;
|
|
else
|
|
else
|
|
case AType and varTypeMask of
|
|
case AType and varTypeMask of
|
|
varString:
|
|
varString:
|
|
- Result:='String';
|
|
|
|
|
|
+ Result:='AnsiString';
|
|
varAny:
|
|
varAny:
|
|
Result:='Any';
|
|
Result:='Any';
|
|
else
|
|
else
|
|
@@ -4556,13 +4556,13 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-Function GetVariantProp(Instance: TObject; const PropName: string): Variant;
|
|
|
|
|
|
+Function GetVariantProp(Instance: TObject; const PropName: AnsiString): Variant;
|
|
begin
|
|
begin
|
|
Result:=GetVariantProp(Instance,FindPropInfo(Instance,PropName));
|
|
Result:=GetVariantProp(Instance,FindPropInfo(Instance,PropName));
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
-Procedure SetVariantProp(Instance: TObject; const PropName: string; const Value: Variant);
|
|
|
|
|
|
+Procedure SetVariantProp(Instance: TObject; const PropName: AnsiString; const Value: Variant);
|
|
begin
|
|
begin
|
|
SetVariantprop(instance,FindpropInfo(Instance,PropName),Value);
|
|
SetVariantprop(instance,FindpropInfo(Instance,PropName),Value);
|
|
end;
|
|
end;
|
|
@@ -4571,7 +4571,7 @@ end;
|
|
All properties through Variant.
|
|
All properties through Variant.
|
|
---------------------------------------------------------------------}
|
|
---------------------------------------------------------------------}
|
|
|
|
|
|
-Function GetPropValue(Instance: TObject; const PropName: string): Variant;
|
|
|
|
|
|
+Function GetPropValue(Instance: TObject; const PropName: AnsiString): Variant;
|
|
begin
|
|
begin
|
|
Result:=TypInfo.GetPropValue(Instance,PropName,True);
|
|
Result:=TypInfo.GetPropValue(Instance,PropName,True);
|
|
end;
|
|
end;
|
|
@@ -4627,7 +4627,7 @@ var
|
|
O: Integer;
|
|
O: Integer;
|
|
I64: Int64;
|
|
I64: Int64;
|
|
Qw: QWord;
|
|
Qw: QWord;
|
|
- S: String;
|
|
|
|
|
|
+ S: AnsiString;
|
|
B: Boolean;
|
|
B: Boolean;
|
|
dynarr: Pointer;
|
|
dynarr: Pointer;
|
|
|
|
|