@@ -28,54 +28,54 @@ interface
28
28
TArrayElementDataContext = class (TInterfacedObject, IDataContext)
29
29
private
30
30
FArray : IScriptDynArray;
31
- FIndex : Integer ;
31
+ FIndex : NativeInt ;
32
32
FElementSize : Integer;
33
- FBase : Integer ;
33
+ FBase : NativeInt ;
34
34
35
35
protected
36
36
function GetSelf : TObject;
37
37
38
- function ComputeAddr (addr : Integer ) : Integer ; inline;
38
+ function ComputeAddr (addr : NativeInt ) : NativeInt ; inline;
39
39
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);
52
52
53
- function Addr : Integer ;
54
- function DataLength : Integer ;
53
+ function Addr : NativeInt ;
54
+ function DataLength : NativeInt ;
55
55
56
56
function AsPData : PData;
57
57
58
- procedure CreateOffset (offset : Integer ; var result : IDataContext);
58
+ procedure CreateOffset (offset : NativeInt ; var result : IDataContext);
59
59
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);
63
63
64
- function IsEmpty (addr : Integer ) : Boolean;
65
- function VarType (addr : Integer ) : TVarType;
64
+ function IsEmpty (addr : NativeInt ) : Boolean;
65
+ function VarType (addr : NativeInt ) : TVarType;
66
66
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;
72
72
73
- function IncInteger (addr : Integer ; delta : Int64) : Int64;
73
+ function IncInteger (addr : NativeInt ; delta : Int64) : Int64;
74
74
75
- function HashCode (size : Integer ) : Cardinal;
75
+ function HashCode (size : NativeInt ) : Cardinal;
76
76
77
77
public
78
- constructor Create(const anArray : IScriptDynArray; anIndex : Integer );
78
+ constructor Create(const anArray : IScriptDynArray; anIndex : NativeInt );
79
79
80
80
end ;
81
81
@@ -88,7 +88,7 @@ implementation
88
88
89
89
// Create
90
90
//
91
- constructor TArrayElementDataContext.Create(const anArray : IScriptDynArray; anIndex : Integer );
91
+ constructor TArrayElementDataContext.Create(const anArray : IScriptDynArray; anIndex : NativeInt );
92
92
begin
93
93
inherited Create;
94
94
if FIndex < 0 then
@@ -108,7 +108,7 @@ function TArrayElementDataContext.GetSelf : TObject;
108
108
109
109
// ComputeAddr
110
110
//
111
- function TArrayElementDataContext.ComputeAddr (addr : Integer ) : Integer ;
111
+ function TArrayElementDataContext.ComputeAddr (addr : NativeInt ) : NativeInt ;
112
112
begin
113
113
Assert(Cardinal(addr) < Cardinal(FElementSize));
114
114
if FIndex >= FArray.ArrayLength then
@@ -118,98 +118,98 @@ function TArrayElementDataContext.ComputeAddr(addr : Integer) : Integer;
118
118
119
119
// GetAsVariant
120
120
//
121
- function TArrayElementDataContext.GetAsVariant (addr : Integer ) : Variant;
121
+ function TArrayElementDataContext.GetAsVariant (addr : NativeInt ) : Variant;
122
122
begin
123
123
FArray.EvalAsVariant(ComputeAddr(addr), Result);
124
124
end ;
125
125
126
126
// SetAsVariant
127
127
//
128
- procedure TArrayElementDataContext.SetAsVariant (addr : Integer ; const value : Variant);
128
+ procedure TArrayElementDataContext.SetAsVariant (addr : NativeInt ; const value : Variant);
129
129
begin
130
130
FArray.SetAsVariant(ComputeAddr(addr), value );
131
131
end ;
132
132
133
133
// GetAsInteger
134
134
//
135
- function TArrayElementDataContext.GetAsInteger (addr : Integer ) : Int64;
135
+ function TArrayElementDataContext.GetAsInteger (addr : NativeInt ) : Int64;
136
136
begin
137
137
Result := FArray.AsInteger[ComputeAddr(addr)];
138
138
end ;
139
139
140
140
// SetAsInteger
141
141
//
142
- procedure TArrayElementDataContext.SetAsInteger (addr : Integer ; const value : Int64);
142
+ procedure TArrayElementDataContext.SetAsInteger (addr : NativeInt ; const value : Int64);
143
143
begin
144
144
FArray.AsInteger[ComputeAddr(addr)] := value ;
145
145
end ;
146
146
147
147
// GetAsFloat
148
148
//
149
- function TArrayElementDataContext.GetAsFloat (addr : Integer ) : Double;
149
+ function TArrayElementDataContext.GetAsFloat (addr : NativeInt ) : Double;
150
150
begin
151
151
Result := FArray.AsFloat[ComputeAddr(addr)];
152
152
end ;
153
153
154
154
// SetAsFloat
155
155
//
156
- procedure TArrayElementDataContext.SetAsFloat (addr : Integer ; const value : Double);
156
+ procedure TArrayElementDataContext.SetAsFloat (addr : NativeInt ; const value : Double);
157
157
begin
158
158
FArray.AsFloat[ComputeAddr(addr)] := value ;
159
159
end ;
160
160
161
161
// GetAsBoolean
162
162
//
163
- function TArrayElementDataContext.GetAsBoolean (addr : Integer ) : Boolean;
163
+ function TArrayElementDataContext.GetAsBoolean (addr : NativeInt ) : Boolean;
164
164
begin
165
165
Result := FArray.AsBoolean[FIndex];
166
166
end ;
167
167
168
168
// SetAsBoolean
169
169
//
170
- procedure TArrayElementDataContext.SetAsBoolean (addr : Integer ; const value : Boolean);
170
+ procedure TArrayElementDataContext.SetAsBoolean (addr : NativeInt ; const value : Boolean);
171
171
begin
172
172
FArray.AsBoolean[ComputeAddr(addr)] := value ;
173
173
end ;
174
174
175
175
// GetAsString
176
176
//
177
- function TArrayElementDataContext.GetAsString (addr : Integer ) : String;
177
+ function TArrayElementDataContext.GetAsString (addr : NativeInt ) : String;
178
178
begin
179
179
FArray.EvalAsString(ComputeAddr(addr), Result);
180
180
end ;
181
181
182
182
// SetAsString
183
183
//
184
- procedure TArrayElementDataContext.SetAsString (addr : Integer ; const value : String);
184
+ procedure TArrayElementDataContext.SetAsString (addr : NativeInt ; const value : String);
185
185
begin
186
186
FArray.SetAsString(ComputeAddr(addr), value );
187
187
end ;
188
188
189
189
// GetAsInterface
190
190
//
191
- function TArrayElementDataContext.GetAsInterface (addr : Integer ) : IUnknown;
191
+ function TArrayElementDataContext.GetAsInterface (addr : NativeInt ) : IUnknown;
192
192
begin
193
193
FArray.EvalAsInterface(ComputeAddr(addr), Result);
194
194
end ;
195
195
196
196
// SetAsInterface
197
197
//
198
- procedure TArrayElementDataContext.SetAsInterface (addr : Integer ; const value : IUnknown);
198
+ procedure TArrayElementDataContext.SetAsInterface (addr : NativeInt ; const value : IUnknown);
199
199
begin
200
200
FArray.SetAsInterface(ComputeAddr(addr), value );
201
201
end ;
202
202
203
203
// Addr
204
204
//
205
- function TArrayElementDataContext.Addr : Integer ;
205
+ function TArrayElementDataContext.Addr : NativeInt ;
206
206
begin
207
207
Result := 0 ;
208
208
end ;
209
209
210
210
// DataLength
211
211
//
212
- function TArrayElementDataContext.DataLength : Integer ;
212
+ function TArrayElementDataContext.DataLength : NativeInt ;
213
213
begin
214
214
Result := FElementSize;
215
215
end ;
@@ -223,7 +223,7 @@ function TArrayElementDataContext.AsPData : PData;
223
223
224
224
// CreateOffset
225
225
//
226
- procedure TArrayElementDataContext.CreateOffset (offset : Integer ; var result : IDataContext);
226
+ procedure TArrayElementDataContext.CreateOffset (offset : NativeInt ; var result : IDataContext);
227
227
var
228
228
dc : TArrayElementDataContext;
229
229
begin
@@ -237,54 +237,54 @@ procedure TArrayElementDataContext.CreateOffset(offset : Integer; var result : I
237
237
238
238
// EvalAsVariant
239
239
//
240
- procedure TArrayElementDataContext.EvalAsVariant (addr : Integer ; var result : Variant);
240
+ procedure TArrayElementDataContext.EvalAsVariant (addr : NativeInt ; var result : Variant);
241
241
begin
242
242
FArray.EvalAsVariant(ComputeAddr(addr), result);
243
243
end ;
244
244
245
245
// EvalAsString
246
246
//
247
- procedure TArrayElementDataContext.EvalAsString (addr : Integer ; var result : String);
247
+ procedure TArrayElementDataContext.EvalAsString (addr : NativeInt ; var result : String);
248
248
begin
249
249
FArray.EvalAsString(ComputeAddr(addr), result);
250
250
end ;
251
251
252
252
// EvalAsInterface
253
253
//
254
- procedure TArrayElementDataContext.EvalAsInterface (addr : Integer ; var result : IUnknown);
254
+ procedure TArrayElementDataContext.EvalAsInterface (addr : NativeInt ; var result : IUnknown);
255
255
begin
256
256
FArray.EvalAsInterface(ComputeAddr(addr), result);
257
257
end ;
258
258
259
259
// IsEmpty
260
260
//
261
- function TArrayElementDataContext.IsEmpty (addr : Integer ) : Boolean;
261
+ function TArrayElementDataContext.IsEmpty (addr : NativeInt ) : Boolean;
262
262
begin
263
263
Result := FArray.IsEmpty(ComputeAddr(addr));
264
264
end ;
265
265
266
266
// VarType
267
267
//
268
- function TArrayElementDataContext.VarType (addr : Integer ) : TVarType;
268
+ function TArrayElementDataContext.VarType (addr : NativeInt ) : TVarType;
269
269
begin
270
270
Result := FArray.VarType(ComputeAddr(addr));
271
271
end ;
272
272
273
273
// CopyData
274
274
//
275
- procedure TArrayElementDataContext.CopyData (const destData : TData; destAddr, size : Integer );
275
+ procedure TArrayElementDataContext.CopyData (const destData : TData; destAddr, size : NativeInt );
276
276
var
277
- i : Integer ;
277
+ i : NativeInt ;
278
278
begin
279
279
for i := 0 to size-1 do
280
280
FArray.EvalAsVariant(ComputeAddr(i), destData[destAddr+i]);
281
281
end ;
282
282
283
283
// WriteData
284
284
//
285
- procedure TArrayElementDataContext.WriteData (const src : IDataContext; size : Integer );
285
+ procedure TArrayElementDataContext.WriteData (const src : IDataContext; size : NativeInt );
286
286
var
287
- p, i : Integer ;
287
+ p, i : NativeInt ;
288
288
v : Variant;
289
289
begin
290
290
p := ComputeAddr(0 );
@@ -296,28 +296,28 @@ procedure TArrayElementDataContext.WriteData(const src : IDataContext; size : In
296
296
297
297
// WriteData
298
298
//
299
- procedure TArrayElementDataContext.WriteData (destAddr : Integer ; const src : IDataContext; size : Integer );
299
+ procedure TArrayElementDataContext.WriteData (destAddr : NativeInt ; const src : IDataContext; size : NativeInt );
300
300
begin
301
301
raise Exception.Create(' TArrayElementDataContext.WriteData(2) not implemented' );
302
302
end ;
303
303
304
304
// WriteData
305
305
//
306
- procedure TArrayElementDataContext.WriteData (const srcData : TData; srcAddr, size : Integer );
306
+ procedure TArrayElementDataContext.WriteData (const srcData : TData; srcAddr, size : NativeInt );
307
307
begin
308
308
raise Exception.Create(' TArrayElementDataContext.WriteData(3) not implemented' );
309
309
end ;
310
310
311
311
// SameData
312
312
//
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;
314
314
begin
315
315
raise Exception.Create(' TArrayElementDataContext.SameData not implemented' );
316
316
end ;
317
317
318
318
// IncInteger
319
319
//
320
- function TArrayElementDataContext.IncInteger (addr : Integer ; delta : Int64) : Int64;
320
+ function TArrayElementDataContext.IncInteger (addr : NativeInt ; delta : Int64) : Int64;
321
321
begin
322
322
addr := ComputeAddr(addr);
323
323
Result := FArray.AsInteger[addr] + delta;
@@ -326,7 +326,7 @@ function TArrayElementDataContext.IncInteger(addr : Integer; delta : Int64) : In
326
326
327
327
// HashCode
328
328
//
329
- function TArrayElementDataContext.HashCode (size : Integer ) : Cardinal;
329
+ function TArrayElementDataContext.HashCode (size : NativeInt ) : Cardinal;
330
330
begin
331
331
Result := FArray.HashCode(ComputeAddr(0 ), size);
332
332
end ;
0 commit comments