Новости сайта Rouse.Drkb.Ru

  Все выпуски  

Новости сайта ROUSE.DRKB.RU


Обновление в разделе Компоненты: FWZip - Работа с ZIP архивами.

Версия 1.0.10

- В класс TFWZipReaderItem добавлено свойство ItemIndex
- Добавлен новый класс исключения EZipReaderRead, поднимающийся при ошибках чтения архива
- Добавлен новый класс исключения EZipWriterWrite, поднимающийся при ошибках создания архива
- Во всех исключениях модуля FWZipReader и частично FWZipWriter предоставляется более подробная информация об ошибке.
- свойство TrimPackedStreamSize является устаревшим и работает только при включенной директиве USE_AUTOGENERATED_ZLIB_HEADER
Реализован набор предложений от Владислава Нечепоренко:
- время модификации файлов пишется с учетом таймзоны
- в класс TFWZipReader добавлена процедура проверки архива Check (производит эмуляцию распаковки без реального извлечения данных)
- для возможности работы с элементом архива до того момента пока он не залочен, добавлены два состояния прогреса psStart и psEnd генерируемый классом TFWZipReader (см. тип TProgressState).
- создание архива переведено на использование deflateInit2_ (см. примечение ВАЖНО!!!)
- убраны очепятки и неиспользуемые переменные
Исправлена ошибка присланная Максимом Буяновым связанная с тем что FWZip не мог распаковать некоторые архивы созданные в 7Zip, а именно ZLib не мог распаковать такой архив с использованием автогенерируемого заголовка и вызовом функции inflateInit_. Правильный вариант заключается в отключении автогенерируемого заголовка и переходу на вызов функции inflateInit2_.
- устаревший код, приводящий к данной ошибке убран под директиву USE_AUTOGENERATED_ZLIB_HEADER, большое спасибо Владиславу Нечепоренко за помощь в исправлении данной ошибки.
ВАЖНО!!!
Использование нового функционала при стандартном модуле ZLib возможно только начиная с Delphi 2009 и выше. Для более старых версий Delphi автоматически будет включена директива USE_AUTOGENERATED_ZLIB_HEADER, переводящая на старый вариант сжатия/распаковки. Если требуется наличие нового функционала необходимо к FWZip подключить библиотеку ZLibEx (плюс включить директиву USE_ZLIB_EX), либо воспользоваться реализацией через библиотеку обьявлением директивы USE_ZLIB_DLL.

Подробнее: http://rouse.drkb.ru/components.php#fwzip

В избранное