|
@@ -771,7 +771,7 @@ type
|
|
function _getResizable: Boolean;
|
|
function _getResizable: Boolean;
|
|
public
|
|
public
|
|
constructor create (aSize : integer);
|
|
constructor create (aSize : integer);
|
|
- class function GlobalMemory : TJSArrayBuffer;
|
|
|
|
|
|
+ class function GlobalMemory : IJSArrayBuffer;
|
|
function Slice : IJSArrayBuffer;
|
|
function Slice : IJSArrayBuffer;
|
|
function Slice (aStart : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart,aEndExclusive : NativeInt): IJSArrayBuffer;
|
|
function Slice (aStart,aEndExclusive : NativeInt): IJSArrayBuffer;
|
|
@@ -2294,9 +2294,15 @@ begin
|
|
JobCreate(True,[aSize])
|
|
JobCreate(True,[aSize])
|
|
end;
|
|
end;
|
|
|
|
|
|
-class function TJSArrayBuffer.GlobalMemory: TJSArrayBuffer;
|
|
|
|
|
|
+class function TJSArrayBuffer.GlobalMemory: IJSArrayBuffer;
|
|
|
|
+
|
|
|
|
+var
|
|
|
|
+ Obj : TJSArrayBuffer;
|
|
|
|
+
|
|
begin
|
|
begin
|
|
- Result:=JOBCreateGlobal('InstanceBuffer');
|
|
|
|
|
|
+ Obj:=TJSArrayBuffer.JOBCreateGlobal('InstanceBuffer');
|
|
|
|
+ Obj.FJOBObjectIDOwner:=True;
|
|
|
|
+ Result:=Obj;
|
|
end;
|
|
end;
|
|
|
|
|
|
function TJSArrayBuffer.Slice: IJSArrayBuffer;
|
|
function TJSArrayBuffer.Slice: IJSArrayBuffer;
|
|
@@ -2998,7 +3004,6 @@ begin
|
|
inc(p,4);
|
|
inc(p,4);
|
|
Result:=aResultClass.JOBCreateFromID(ObjId);
|
|
Result:=aResultClass.JOBCreateFromID(ObjId);
|
|
Result.JOBObjectIDOwner:=True; // The objects passed are not freed, we need to do it.
|
|
Result.JOBObjectIDOwner:=True; // The objects passed are not freed, we need to do it.
|
|
- // Writeln('Will free ',ObjID);
|
|
|
|
end
|
|
end
|
|
else
|
|
else
|
|
raise EJSArgParse.Create(JOBArgNames[p^]);
|
|
raise EJSArgParse.Create(JOBArgNames[p^]);
|
|
@@ -4368,9 +4373,10 @@ var
|
|
Buf: array[0..7] of byte;
|
|
Buf: array[0..7] of byte;
|
|
p: PByte;
|
|
p: PByte;
|
|
r: TJOBResult;
|
|
r: TJOBResult;
|
|
- Obj: TJSObject;
|
|
|
|
|
|
+ Obj: IInterface;
|
|
func : TJSFunction;
|
|
func : TJSFunction;
|
|
objid,thisid : TJOBObjectID;
|
|
objid,thisid : TJOBObjectID;
|
|
|
|
+ Tmp : TJSObject;
|
|
begin
|
|
begin
|
|
FillByte(Buf[0],length(Buf),0);
|
|
FillByte(Buf[0],length(Buf),0);
|
|
p:=@Buf[0];
|
|
p:=@Buf[0];
|
|
@@ -4396,8 +4402,10 @@ begin
|
|
end;
|
|
end;
|
|
JOBResult_Object:
|
|
JOBResult_Object:
|
|
begin
|
|
begin
|
|
- Obj:=TJSObject.JOBCreateFromID(PJOBObjectID(p)^);
|
|
|
|
- Result:=Obj as IJSObject;
|
|
|
|
|
|
+ Tmp:=TJSObject.JOBCreateFromID(PJOBObjectID(p)^);
|
|
|
|
+ Obj:=Tmp;
|
|
|
|
+ Result:=Obj;
|
|
|
|
+ Obj:=nil;
|
|
end;
|
|
end;
|
|
else
|
|
else
|
|
VarClear(Result);
|
|
VarClear(Result);
|