anchor.diff:    // 
     ClearTaskListRequest;
   
  +  if FCurrentStream <> nil then
  +  begin           // ж˷
  +    FCurrentStream.Free;
  +    FCurrentStream := nil;
  +  end;
  +  FCurrentStreamRemainSize := 0;
     FCurrentStreamEndAction := 0;
  +
   
     inherited DoCleanUp;
   end;
  
positive.code:     lvSize := pvStream.Size;
      if lvRange.VEnd = 0 then
      begin
        lvRange.VEnd := lvRange.VStart + SEND_BLOCK_SIZE - 1;
      end;
  
      if (lvRange.VStart < lvSize) then
  
negative.code:     r := self.FCurrentStream.Read(lvBuffer^, l);
      AddRef(lvBuffer);
      Dec(self.FCurrentStreamRemainSize, r);
      if not PostWSASendRequest(lvBuffer, r, False, BLOCK_STREAM_BUFFER_TAG) then
      begin
        ReleaseRef(lvBuffer);
      end;
    finally
      self.UnLock;
    end;
  