anchor.diff:    else
       MPool := nil;
   
  +
     if MPool <> nil then
     begin
       MemBlock := MPool.GetMemoryBlock;
  
positive.code:   else
    begin
      MemBlock := SuperLargeMemoryPool.GetMemoryBlock;
      MemBlock^.DataLen := SuperMemoryPool.FBlockSize;
      MemBlock^.NextEx := nil;
      MemBlock^.PrevEx := nil;
      Move(buf^,MemBlock^.Memory^,MemBlock^.DataLen);
      if FHead = nil then
        FHead := MemBlock;
      if FLast = nil then
  
negative.code:       MemBlock^.PrevEx := FLast;
        FLast := MemBlock;
      end;
      Dec(len,MemBlock^.DataLen);
      Inc(buf,MemBlock^.DataLen);
      if Len > 0 then
        AddBuffer(buf,len);
    end;
  end;
  
  