anchor.diff:      class function GetElapsedMilliseconds(Const previousTickCount : TTickCount) : Int64;
     End;
   
  +{$IFDEF NO_ANSISTRING}
  +function StrPas(ptrAnsiChar : PAnsiChar) : String;
  +{$ENDIF}
  +
   implementation
   
   {$IFNDEF FPC}
  +  {$IFDEF MSWINDOWS}
   Uses windows;
  +  {$ENDIF}
  +{$ENDIF}
  +
  +{$IFDEF NO_ANSISTRING}
  +function StrPas(ptrAnsiChar : PAnsiChar) : String;
  +var LRaw : TRawBytes;
  +  LPtr : PByte;
  +  LByte : Byte;
  +begin
  +  SetLength(LRaw,0);
  +  LPtr := ptrAnsiChar;
  +  repeat
  +    LByte := Byte(LPtr^);
  +    if LByte<>0 then begin
  +      SetLength(LRaw,Length(LRaw)+1);
  +      LRaw[High(LRaw)] := LByte;
  +    end;
  +    LPtr := LPtr + 1;
  +  until (LByte=0);
  +  Result := LRaw.ToString;
  +end;
   {$ENDIF}
   
   { TRawBytesHelper }
  
positive.code:   SetLength(rbs,Length(Self));
    inc_i := Low(rbs) - Low(Self);
    for i:=Low(Self) to High(Self) do begin
      if (Self[i] in [32..126]) then rbs[i+inc_i] := AnsiChar(Self[i])
      else rbs[i+inc_i] := AnsiChar(126);
    end;
    Result := rbs;
  end;
  
negative.code: uses
    Classes, SysUtils;
  
  {$I config.inc}
  
  Type
    {$IFDEF NO_ANSISTRING}
      // When Delphi + Android, then no ANSISTRING available
      PAnsiChar = PByte;
      PPAnsiChar = ^PAnsiChar;
    {$ENDIF}
  
  
    // Raw data in a maximum 65k bytes
    TDynRawBytes = TBytes;
    // Raw data in a maximum 256 bytes
  