@@ -28,54 +28,54 @@ interface
2828 TArrayElementDataContext = class (TInterfacedObject, IDataContext)
2929 private
3030 FArray : IScriptDynArray;
31- FIndex : Integer ;
31+ FIndex : NativeInt ;
3232 FElementSize : Integer;
33- FBase : Integer ;
33+ FBase : NativeInt ;
3434
3535 protected
3636 function GetSelf : TObject;
3737
38- function ComputeAddr (addr : Integer ) : Integer ; inline;
38+ function ComputeAddr (addr : NativeInt ) : NativeInt ; inline;
3939
40- function GetAsVariant (addr : Integer ) : Variant;
41- procedure SetAsVariant (addr : Integer ; const value : Variant);
42- function GetAsInteger (addr : Integer ) : Int64;
43- procedure SetAsInteger (addr : Integer ; const value : Int64);
44- function GetAsFloat (addr : Integer ) : Double;
45- procedure SetAsFloat (addr : Integer ; const value : Double);
46- function GetAsBoolean (addr : Integer ) : Boolean;
47- procedure SetAsBoolean (addr : Integer ; const value : Boolean);
48- function GetAsString (addr : Integer ) : String;
49- procedure SetAsString (addr : Integer ; const value : String);
50- function GetAsInterface (addr : Integer ) : IUnknown;
51- procedure SetAsInterface (addr : Integer ; const value : IUnknown);
40+ function GetAsVariant (addr : NativeInt ) : Variant;
41+ procedure SetAsVariant (addr : NativeInt ; const value : Variant);
42+ function GetAsInteger (addr : NativeInt ) : Int64;
43+ procedure SetAsInteger (addr : NativeInt ; const value : Int64);
44+ function GetAsFloat (addr : NativeInt ) : Double;
45+ procedure SetAsFloat (addr : NativeInt ; const value : Double);
46+ function GetAsBoolean (addr : NativeInt ) : Boolean;
47+ procedure SetAsBoolean (addr : NativeInt ; const value : Boolean);
48+ function GetAsString (addr : NativeInt ) : String;
49+ procedure SetAsString (addr : NativeInt ; const value : String);
50+ function GetAsInterface (addr : NativeInt ) : IUnknown;
51+ procedure SetAsInterface (addr : NativeInt ; const value : IUnknown);
5252
53- function Addr : Integer ;
54- function DataLength : Integer ;
53+ function Addr : NativeInt ;
54+ function DataLength : NativeInt ;
5555
5656 function AsPData : PData;
5757
58- procedure CreateOffset (offset : Integer ; var result : IDataContext);
58+ procedure CreateOffset (offset : NativeInt ; var result : IDataContext);
5959
60- procedure EvalAsVariant (addr : Integer ; var result : Variant);
61- procedure EvalAsString (addr : Integer ; var result : String);
62- procedure EvalAsInterface (addr : Integer ; var result : IUnknown);
60+ procedure EvalAsVariant (addr : NativeInt ; var result : Variant);
61+ procedure EvalAsString (addr : NativeInt ; var result : String);
62+ procedure EvalAsInterface (addr : NativeInt ; var result : IUnknown);
6363
64- function IsEmpty (addr : Integer ) : Boolean;
65- function VarType (addr : Integer ) : TVarType;
64+ function IsEmpty (addr : NativeInt ) : Boolean;
65+ function VarType (addr : NativeInt ) : TVarType;
6666
67- procedure CopyData (const destData : TData; destAddr, size : Integer );
68- procedure WriteData (const src : IDataContext; size : Integer ); overload;
69- procedure WriteData (destAddr : Integer ; const src : IDataContext; size : Integer ); overload;
70- procedure WriteData (const srcData : TData; srcAddr, size : Integer ); overload;
71- function SameData (addr : Integer ; const otherData : TData; otherAddr, size : Integer ) : Boolean;
67+ procedure CopyData (const destData : TData; destAddr, size : NativeInt );
68+ procedure WriteData (const src : IDataContext; size : NativeInt ); overload;
69+ procedure WriteData (destAddr : NativeInt ; const src : IDataContext; size : NativeInt ); overload;
70+ procedure WriteData (const srcData : TData; srcAddr, size : NativeInt ); overload;
71+ function SameData (addr : NativeInt ; const otherData : TData; otherAddr, size : NativeInt ) : Boolean;
7272
73- function IncInteger (addr : Integer ; delta : Int64) : Int64;
73+ function IncInteger (addr : NativeInt ; delta : Int64) : Int64;
7474
75- function HashCode (size : Integer ) : Cardinal;
75+ function HashCode (size : NativeInt ) : Cardinal;
7676
7777 public
78- constructor Create(const anArray : IScriptDynArray; anIndex : Integer );
78+ constructor Create(const anArray : IScriptDynArray; anIndex : NativeInt );
7979
8080 end ;
8181
@@ -88,7 +88,7 @@ implementation
8888
8989// Create
9090//
91- constructor TArrayElementDataContext.Create(const anArray : IScriptDynArray; anIndex : Integer );
91+ constructor TArrayElementDataContext.Create(const anArray : IScriptDynArray; anIndex : NativeInt );
9292begin
9393 inherited Create;
9494 if FIndex < 0 then
@@ -108,7 +108,7 @@ function TArrayElementDataContext.GetSelf : TObject;
108108
109109// ComputeAddr
110110//
111- function TArrayElementDataContext.ComputeAddr (addr : Integer ) : Integer ;
111+ function TArrayElementDataContext.ComputeAddr (addr : NativeInt ) : NativeInt ;
112112begin
113113 Assert(Cardinal(addr) < Cardinal(FElementSize));
114114 if FIndex >= FArray.ArrayLength then
@@ -118,98 +118,98 @@ function TArrayElementDataContext.ComputeAddr(addr : Integer) : Integer;
118118
119119// GetAsVariant
120120//
121- function TArrayElementDataContext.GetAsVariant (addr : Integer ) : Variant;
121+ function TArrayElementDataContext.GetAsVariant (addr : NativeInt ) : Variant;
122122begin
123123 FArray.EvalAsVariant(ComputeAddr(addr), Result);
124124end ;
125125
126126// SetAsVariant
127127//
128- procedure TArrayElementDataContext.SetAsVariant (addr : Integer ; const value : Variant);
128+ procedure TArrayElementDataContext.SetAsVariant (addr : NativeInt ; const value : Variant);
129129begin
130130 FArray.SetAsVariant(ComputeAddr(addr), value );
131131end ;
132132
133133// GetAsInteger
134134//
135- function TArrayElementDataContext.GetAsInteger (addr : Integer ) : Int64;
135+ function TArrayElementDataContext.GetAsInteger (addr : NativeInt ) : Int64;
136136begin
137137 Result := FArray.AsInteger[ComputeAddr(addr)];
138138end ;
139139
140140// SetAsInteger
141141//
142- procedure TArrayElementDataContext.SetAsInteger (addr : Integer ; const value : Int64);
142+ procedure TArrayElementDataContext.SetAsInteger (addr : NativeInt ; const value : Int64);
143143begin
144144 FArray.AsInteger[ComputeAddr(addr)] := value ;
145145end ;
146146
147147// GetAsFloat
148148//
149- function TArrayElementDataContext.GetAsFloat (addr : Integer ) : Double;
149+ function TArrayElementDataContext.GetAsFloat (addr : NativeInt ) : Double;
150150begin
151151 Result := FArray.AsFloat[ComputeAddr(addr)];
152152end ;
153153
154154// SetAsFloat
155155//
156- procedure TArrayElementDataContext.SetAsFloat (addr : Integer ; const value : Double);
156+ procedure TArrayElementDataContext.SetAsFloat (addr : NativeInt ; const value : Double);
157157begin
158158 FArray.AsFloat[ComputeAddr(addr)] := value ;
159159end ;
160160
161161// GetAsBoolean
162162//
163- function TArrayElementDataContext.GetAsBoolean (addr : Integer ) : Boolean;
163+ function TArrayElementDataContext.GetAsBoolean (addr : NativeInt ) : Boolean;
164164begin
165165 Result := FArray.AsBoolean[FIndex];
166166end ;
167167
168168// SetAsBoolean
169169//
170- procedure TArrayElementDataContext.SetAsBoolean (addr : Integer ; const value : Boolean);
170+ procedure TArrayElementDataContext.SetAsBoolean (addr : NativeInt ; const value : Boolean);
171171begin
172172 FArray.AsBoolean[ComputeAddr(addr)] := value ;
173173end ;
174174
175175// GetAsString
176176//
177- function TArrayElementDataContext.GetAsString (addr : Integer ) : String;
177+ function TArrayElementDataContext.GetAsString (addr : NativeInt ) : String;
178178begin
179179 FArray.EvalAsString(ComputeAddr(addr), Result);
180180end ;
181181
182182// SetAsString
183183//
184- procedure TArrayElementDataContext.SetAsString (addr : Integer ; const value : String);
184+ procedure TArrayElementDataContext.SetAsString (addr : NativeInt ; const value : String);
185185begin
186186 FArray.SetAsString(ComputeAddr(addr), value );
187187end ;
188188
189189// GetAsInterface
190190//
191- function TArrayElementDataContext.GetAsInterface (addr : Integer ) : IUnknown;
191+ function TArrayElementDataContext.GetAsInterface (addr : NativeInt ) : IUnknown;
192192begin
193193 FArray.EvalAsInterface(ComputeAddr(addr), Result);
194194end ;
195195
196196// SetAsInterface
197197//
198- procedure TArrayElementDataContext.SetAsInterface (addr : Integer ; const value : IUnknown);
198+ procedure TArrayElementDataContext.SetAsInterface (addr : NativeInt ; const value : IUnknown);
199199begin
200200 FArray.SetAsInterface(ComputeAddr(addr), value );
201201end ;
202202
203203// Addr
204204//
205- function TArrayElementDataContext.Addr : Integer ;
205+ function TArrayElementDataContext.Addr : NativeInt ;
206206begin
207207 Result := 0 ;
208208end ;
209209
210210// DataLength
211211//
212- function TArrayElementDataContext.DataLength : Integer ;
212+ function TArrayElementDataContext.DataLength : NativeInt ;
213213begin
214214 Result := FElementSize;
215215end ;
@@ -223,7 +223,7 @@ function TArrayElementDataContext.AsPData : PData;
223223
224224// CreateOffset
225225//
226- procedure TArrayElementDataContext.CreateOffset (offset : Integer ; var result : IDataContext);
226+ procedure TArrayElementDataContext.CreateOffset (offset : NativeInt ; var result : IDataContext);
227227var
228228 dc : TArrayElementDataContext;
229229begin
@@ -237,54 +237,54 @@ procedure TArrayElementDataContext.CreateOffset(offset : Integer; var result : I
237237
238238// EvalAsVariant
239239//
240- procedure TArrayElementDataContext.EvalAsVariant (addr : Integer ; var result : Variant);
240+ procedure TArrayElementDataContext.EvalAsVariant (addr : NativeInt ; var result : Variant);
241241begin
242242 FArray.EvalAsVariant(ComputeAddr(addr), result);
243243end ;
244244
245245// EvalAsString
246246//
247- procedure TArrayElementDataContext.EvalAsString (addr : Integer ; var result : String);
247+ procedure TArrayElementDataContext.EvalAsString (addr : NativeInt ; var result : String);
248248begin
249249 FArray.EvalAsString(ComputeAddr(addr), result);
250250end ;
251251
252252// EvalAsInterface
253253//
254- procedure TArrayElementDataContext.EvalAsInterface (addr : Integer ; var result : IUnknown);
254+ procedure TArrayElementDataContext.EvalAsInterface (addr : NativeInt ; var result : IUnknown);
255255begin
256256 FArray.EvalAsInterface(ComputeAddr(addr), result);
257257end ;
258258
259259// IsEmpty
260260//
261- function TArrayElementDataContext.IsEmpty (addr : Integer ) : Boolean;
261+ function TArrayElementDataContext.IsEmpty (addr : NativeInt ) : Boolean;
262262begin
263263 Result := FArray.IsEmpty(ComputeAddr(addr));
264264end ;
265265
266266// VarType
267267//
268- function TArrayElementDataContext.VarType (addr : Integer ) : TVarType;
268+ function TArrayElementDataContext.VarType (addr : NativeInt ) : TVarType;
269269begin
270270 Result := FArray.VarType(ComputeAddr(addr));
271271end ;
272272
273273// CopyData
274274//
275- procedure TArrayElementDataContext.CopyData (const destData : TData; destAddr, size : Integer );
275+ procedure TArrayElementDataContext.CopyData (const destData : TData; destAddr, size : NativeInt );
276276var
277- i : Integer ;
277+ i : NativeInt ;
278278begin
279279 for i := 0 to size-1 do
280280 FArray.EvalAsVariant(ComputeAddr(i), destData[destAddr+i]);
281281end ;
282282
283283// WriteData
284284//
285- procedure TArrayElementDataContext.WriteData (const src : IDataContext; size : Integer );
285+ procedure TArrayElementDataContext.WriteData (const src : IDataContext; size : NativeInt );
286286var
287- p, i : Integer ;
287+ p, i : NativeInt ;
288288 v : Variant;
289289begin
290290 p := ComputeAddr(0 );
@@ -296,28 +296,28 @@ procedure TArrayElementDataContext.WriteData(const src : IDataContext; size : In
296296
297297// WriteData
298298//
299- procedure TArrayElementDataContext.WriteData (destAddr : Integer ; const src : IDataContext; size : Integer );
299+ procedure TArrayElementDataContext.WriteData (destAddr : NativeInt ; const src : IDataContext; size : NativeInt );
300300begin
301301 raise Exception.Create(' TArrayElementDataContext.WriteData(2) not implemented' );
302302end ;
303303
304304// WriteData
305305//
306- procedure TArrayElementDataContext.WriteData (const srcData : TData; srcAddr, size : Integer );
306+ procedure TArrayElementDataContext.WriteData (const srcData : TData; srcAddr, size : NativeInt );
307307begin
308308 raise Exception.Create(' TArrayElementDataContext.WriteData(3) not implemented' );
309309end ;
310310
311311// SameData
312312//
313- function TArrayElementDataContext.SameData (addr : Integer ; const otherData : TData; otherAddr, size : Integer ) : Boolean;
313+ function TArrayElementDataContext.SameData (addr : NativeInt ; const otherData : TData; otherAddr, size : NativeInt ) : Boolean;
314314begin
315315 raise Exception.Create(' TArrayElementDataContext.SameData not implemented' );
316316end ;
317317
318318// IncInteger
319319//
320- function TArrayElementDataContext.IncInteger (addr : Integer ; delta : Int64) : Int64;
320+ function TArrayElementDataContext.IncInteger (addr : NativeInt ; delta : Int64) : Int64;
321321begin
322322 addr := ComputeAddr(addr);
323323 Result := FArray.AsInteger[addr] + delta;
@@ -326,7 +326,7 @@ function TArrayElementDataContext.IncInteger(addr : Integer; delta : Int64) : In
326326
327327// HashCode
328328//
329- function TArrayElementDataContext.HashCode (size : Integer ) : Cardinal;
329+ function TArrayElementDataContext.HashCode (size : NativeInt ) : Cardinal;
330330begin
331331 Result := FArray.HashCode(ComputeAddr(0 ), size);
332332end ;
0 commit comments