@@ -18,7 +18,7 @@ procedure computeBaseLineMemoryAllocated;
1818procedure addGlobalMethodsToModule (module : TModuleLib);
1919
2020var mainModule : TModuleLib;
21- baseLineMemoryAllocated : integer ;
21+ baseLineMemoryAllocated : UInt64 ;
2222
2323 procedure createGlobalBuiltIns ;
2424
@@ -100,7 +100,7 @@ procedure argMustBeNumber;
100100
101101function getMemoryAllocated : integer;
102102var st: TMemoryManagerState; sb: TSmallBlockTypeState;
103- value : integer ;
103+ value : UInt64 ;
104104begin
105105 getMemoryManagerState(st);
106106 value := st.TotalAllocatedMediumBlockSize + st.TotalAllocatedLargeBlockSize;
@@ -227,7 +227,7 @@ function countElements (alist : TListObject) : integer;
227227
228228function getDimensions (alist : TListObject; count : integer) : TIndexArray;
229229var firstdim : integer;
230- i, n, dimIndex : integer;
230+ n, dimIndex : integer;
231231 aitem : TListItem;
232232begin
233233 firstdim := alist.list.Count;
@@ -410,13 +410,13 @@ procedure TBuiltInGlobal.readString (vm : TObject);
410410 nArgs := TVM (vm).popInteger;
411411 case nArgs of
412412 0 : prompt := ' ' ;
413- 1 : prompt := TVM (vm).popString ().value ;
413+ 1 : prompt := AnsiString ( TVM (vm).popString ().value ) ;
414414 else
415415 raise ERuntimeException.Create(' readString takes a single string argument or none at all' );
416416 end ;
417417
418418 if Assigned (TVM (vm).readStringCallbackPtr) then
419- s := TVM (vm).readStringCallbackPtr(prompt);
419+ s := string (AnsiString ( TVM (vm).readStringCallbackPtr(prompt)) );
420420 sobj := TStringObject.create (s);
421421 TVM (vm).push (sObj);
422422end ;
@@ -432,20 +432,20 @@ procedure TBuiltInGlobal.readNumber (vm : TObject);
432432 nArgs := TVM (vm).popInteger;
433433 case nArgs of
434434 0 : prompt := ' ' ;
435- 1 : prompt := TVM (vm).popString ().value ;
435+ 1 : prompt := AnsiString ( TVM (vm).popString ().value ) ;
436436 else
437437 raise ERuntimeException.Create(' readString takes a single string argument or none at all' );
438438 end ;
439439
440440 if Assigned (TVM (vm).readStringCallbackPtr) then
441- s := TVM (vm).readStringCallbackPtr(prompt);
441+ s := string (AnsiString ( TVM (vm).readStringCallbackPtr(prompt)) );
442442
443443 while (not TryStrToInt(s, iValue)) and (not TryStrToFloat(s, dValue)) do
444444 begin
445445 if assigned (TVM (vm).printlnCallbackPtr) then
446- TVM (vm).printlnCallbackPtr (' Number error: ' + s + ' is not a number, try again' );
446+ TVM (vm).printlnCallbackPtr (AnsiString ( ' Number error: ' + s + ' is not a number, try again' ) );
447447 if Assigned (TVM (vm).readStringCallbackPtr) then
448- s := TVM (vm).readStringCallbackPtr(prompt);
448+ s := string (AnsiString ( TVM (vm).readStringCallbackPtr(prompt)) );
449449 end ;
450450 if TryStrToInt(s, iValue) then
451451 TVM (vm).push (iValue)
0 commit comments