ソースを参照

TJSSharedArrayBuffer may not be defined

Michael Van Canneyt 8 ヶ月 前
コミット
2be256b78b
2 ファイル変更2 行追加1 行削除
  1. 1 0
      packages/rtl/src/weborworker.pas
  2. 1 1
      packages/wasi/src/wasienv.pas

+ 1 - 0
packages/rtl/src/weborworker.pas

@@ -1536,6 +1536,7 @@ var
   Console : TJSConsole; external name 'console';
   Crypto: TJSCrypto; external name 'crypto';
   indexedDB : TJSIDBFactory; external name 'indexedDB';
+  self_ : TWindowOrWorkerGlobalScope; external name 'self';
 
   function fetch(resource: String; init: TJSObject): TJSPromise; overload; external name 'fetch';
   //function fetch(resource: String): TJSPromise; overload; external name 'fetch';

+ 1 - 1
packages/wasi/src/wasienv.pas

@@ -2291,7 +2291,7 @@ var
   SrcBytes,tmpBytes : TJSUint8Array;
 
 begin
-  if getModuleMemoryDataView.bufferObj is TJSSharedArrayBuffer then
+  if isDefined(Self_['TJSSharedArrayBuffer']) and (getModuleMemoryDataView.bufferObj is TJSSharedArrayBuffer) then
     begin
     src:=getModuleMemoryDataView.buffer.slice(aLoc,aLoc+alen);
     SrcBytes:=TJSUint8Array.new(src);