anchor.diff:            if Assigned(ProgressCallBack) then ProgressCallBack(Percentage);
           end;
         finally
  -        CloseFile(fin);
  +        FileClose(fin);
         end;
   
         SetLength(DataArray, 0);
  
positive.code:           else
              SizeToSend := FileSizeValue - i * BLOCK_SIZE;
  
            BlockRead(Fin, DataArray[0], SizeToSend);
            Socket.SendBuffer(@DataArray[0], SizeToSend);
  
            Percentage := Round((i * BLOCK_SIZE / FileSizeValue) * 100);
  
negative.code:   //only do this if at least authenticated…
    if FState >= hsAuthenticated then
    begin
      FileSizeValue := FileUtil.FileSize(Filename);
      Log('Queueing song ' + SysToUTF8(ExtractFilename(UTF8ToSys(Filename))) + '…');
      SendString('q|' + SysToUTF8(ExtractFilename(UTF8ToSys(Filename))) + '|' +
        IntToStr(FileSizeValue));
  
      Reply := ReceiveString();
  