anchor.diff:    FillByte(dest[0],32,0);
   end;
   
  +class function TBaseType.FindIn(const subst, target: TRawBytes): Integer;
  +var iSubs, iTarget : Integer;
  +begin
  +  Result := -1;
  +  for iTarget := 0 to (High(target)-Length(subst)+1) do begin
  +    iSubs := 0;
  +    while (iSubs<=High(subst)) and (target[iSubs+iTarget]=subst[iSubs]) do inc(iSubs);
  +    if (iSubs>High(subst)) then begin
  +      Result := iTarget;
  +      Exit;
  +    end;
  +  end;
  +end;
  +
   class function TBaseType.IsEmpty(const value: T32Bytes): Boolean;
   Var i : Integer;
   begin
  
positive.code: Uses windows;
  {$ENDIF}
  
  { TBaseType }
  
  {$IFnDEF FPC}
  
negative.code:     class function IsEmpty(const value : T32Bytes) : Boolean;
      class procedure Concat(const addBytes : T32Bytes; var target : TDynRawBytes); overload;
      class procedure Concat(const leftBytes,rightBytes : T32Bytes; var target : TDynRawBytes); overload;
      class procedure Concat(const leftBytes,rightBytes : TDynRawBytes; var target : TDynRawBytes); overload;
      class function Equals(const v1,v2 : T32Bytes) : Boolean; overload;
      class function Equals(const v1,v2 : TDynRawBytes) : Boolean; overload;
      class function Higher(const vHigh,vLow : T32Bytes) : Boolean;
      class function Compare(const leftBytes,rightBytes : T32Bytes) : Integer; overload;
      class function FindIn(const subst, target : TRawBytes) : Integer;
      class function StartsWith(const subst, target : TRawBytes) : Boolean;
      // Herman functions moved from "Common"
      { Binary-safe StrComp replacement. StrComp will return 0 for when str1 and str2 both start with NUL character. }
      class function BinStrComp(const Str1, Str2 : TRawBytes): Integer;
    end;
  
    // TickCount is platform specific (32 or 64 bits)
  