anchor.diff:  
   procedure TKMemoryStreamText.Write(const Value: TDateTime);
   var
  -  Str: String;
  -begin
  -  DateTimeToString(Str, 'dd.mm.yyyy hh:nn:ss.zzz', Value);
  -  WriteText(Str);
  +  str: String;
  +begin
  +  DateTimeToString(str, 'dd.mm.yyyy hh:nn:ss.zzz', Value);
  +  WriteText(str);
   end;
   
   
  
positive.code: {$IFDEF WDC OR FPC_FULLVERSION >= 30200}
  class procedure TKMemoryStream.AsyncSaveToFileAndFree(var aStream; const aFileName: string; aWorkerThread: TKMWorkerThread);
  var
    LocalStream: TKMemoryStream;
  begin
    Assert(TObject(aStream) is TKMemoryStream);
    LocalStream := TKMemoryStream(aStream);
    Pointer(aStream) := nil; //So caller doesn't use it by mistake
  
    {$IFDEF WDC}
      aWorkerThread.QueueWork(procedure
      begin
        try
          LocalStream.SaveToFile(aFileName);
        finally
          LocalStream.Free;
        end;
      end, 'AsyncSaveToFile');
    {$ELSE}
  
negative.code: end;
  
  procedure TKMemoryStreamBinary.WriteA(const Value: AnsiString);
  var
    I: Word;
  begin
    I := Length(Value);
    inherited Write(I, SizeOf(I));
  