|
|
@@ -40,6 +40,7 @@ type
|
|
|
function GetClassArray(const ItemNo: Longint; const FieldNo: Longint = -1): TArrayOfObject;
|
|
|
function GetIntArray(const ItemNo: Longint; const FieldNo: Longint = -1): TArrayOfInteger;
|
|
|
function GetNativeInt(const ItemNo: Longint): NativeInt;
|
|
|
+ function GetNativeUInt(const ItemNo: Longint): NativeUInt;
|
|
|
function GetProc(const ItemNo: Longint; const Exec: TPSExec): TMethod;
|
|
|
function GetStringArray(const ItemNo: Longint; const FieldNo: Longint = -1): TArrayOfString;
|
|
|
function InitArrayBuilder(const ItemNo: LongInt; const FieldNo: Longint = -1): TArrayBuilder;
|
|
|
@@ -49,6 +50,9 @@ type
|
|
|
procedure SetInt(const ItemNo: Longint; const Data: Integer; const FieldNo: Longint = -1);
|
|
|
procedure SetInt64(const ItemNo: Longint; const Data: Int64; const FieldNo: Longint = -1);
|
|
|
procedure SetNativeInt(const ItemNo: Longint; const Data: NativeInt; const FieldNo: Longint = -1);
|
|
|
+ procedure SetNativeUInt(const ItemNo: Longint; const Data: NativeUInt; const FieldNo: Longint = -1);
|
|
|
+ procedure SetUInt(const ItemNo: Longint; const Data: Cardinal; const FieldNo: Longint = -1);
|
|
|
+ procedure SetUInt64(const ItemNo: Longint; const Data: UInt64; const FieldNo: Longint = -1);
|
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
@@ -109,6 +113,15 @@ begin
|
|
|
{$ENDIF}
|
|
|
end;
|
|
|
|
|
|
+function TPSStackHelper.GetNativeUInt(const ItemNo: Longint): NativeUInt;
|
|
|
+begin
|
|
|
+{$IFNDEF WIN64}
|
|
|
+ Result := GetUInt(ItemNo);
|
|
|
+{$ELSE}
|
|
|
+ Result := GetUInt64(ItemNo);
|
|
|
+{$ENDIF}
|
|
|
+end;
|
|
|
+
|
|
|
function TPSStackHelper.GetProc(const ItemNo: Longint; const Exec: TPSExec): TMethod;
|
|
|
begin
|
|
|
var P := PPSVariantProcPtr(Items[ItemNo]);
|
|
|
@@ -181,6 +194,16 @@ begin
|
|
|
inherited SetInt(ItemNo, Data)
|
|
|
end;
|
|
|
|
|
|
+procedure TPSStackHelper.SetUInt(const ItemNo: Longint; const Data: Cardinal;
|
|
|
+ const FieldNo: Longint);
|
|
|
+begin
|
|
|
+ if FieldNo >= 0 then begin
|
|
|
+ var PSVariantIFC := NewTPSVariantRecordIFC(Items[ItemNo], FieldNo);
|
|
|
+ VNSetUInt(PSVariantIFC, Data);
|
|
|
+ end else
|
|
|
+ inherited SetUInt(ItemNo, Data)
|
|
|
+end;
|
|
|
+
|
|
|
procedure TPSStackHelper.SetInt64(const ItemNo: Longint; const Data: Int64;
|
|
|
const FieldNo: Longint);
|
|
|
begin
|
|
|
@@ -191,6 +214,16 @@ begin
|
|
|
inherited SetInt64(ItemNo, Data)
|
|
|
end;
|
|
|
|
|
|
+procedure TPSStackHelper.SetUInt64(const ItemNo: Longint; const Data: UInt64;
|
|
|
+ const FieldNo: Longint);
|
|
|
+begin
|
|
|
+ if FieldNo >= 0 then begin
|
|
|
+ var PSVariantIFC := NewTPSVariantRecordIFC(Items[ItemNo], FieldNo);
|
|
|
+ VNSetUInt64(PSVariantIFC, Data);
|
|
|
+ end else
|
|
|
+ inherited SetUInt64(ItemNo, Data)
|
|
|
+end;
|
|
|
+
|
|
|
procedure TPSStackHelper.SetNativeInt(const ItemNo: Longint; const Data: NativeInt;
|
|
|
const FieldNo: Longint);
|
|
|
begin
|
|
|
@@ -201,4 +234,14 @@ begin
|
|
|
{$ENDIF}
|
|
|
end;
|
|
|
|
|
|
+procedure TPSStackHelper.SetNativeUInt(const ItemNo: Longint; const Data: NativeUInt;
|
|
|
+ const FieldNo: Longint);
|
|
|
+begin
|
|
|
+{$IFNDEF WIN64}
|
|
|
+ SetUInt(ItemNo, Data, FieldNo);
|
|
|
+{$ELSE}
|
|
|
+ SetUInt64(ItemNo, Data, FieldNo);
|
|
|
+{$ENDIF}
|
|
|
+end;
|
|
|
+
|
|
|
end.
|