//////////////////////////////////////////////////////////////////////////////// // // **************************************************************************** // * Project : FWZip // * Unit Name : fwzip.inc // * Purpose : Набор классов для распаковки ZIP архива // * Author : Александр (Rouse_) Багель // * Copyright : © Fangorn Wizards Lab 1998 - 2023. // * Version : 2.0.0 // * Home Page : http://rouse.drkb.ru // * Home Blog : http://alexander-bagel.blogspot.ru // **************************************************************************** // * Stable Release : http://rouse.drkb.ru/components.php#fwzip // * Latest Source : https://github.com/AlexanderBagel/FWZip // **************************************************************************** // // Используемые источники: // ftp://ftp.info-zip.org/pub/infozip/doc/appnote-iz-latest.zip // http://zlib.net/zlib-1.2.5.tar.gz // http://www.base2ti.com/ // // Данный модуль предназначен для глобального включения // директив настройки пакета FWZip // Если необходимо использовать ZLibEx раскоментируйте директиву ниже // {$DEFINE USE_ZLIB_EX} // Если необходимо использовать внешнюю библиотеку раскоментируйте директиву ниже // {$DEFINE USE_ZLIB_DLL} // Если необходима поддержка сжатия/распаковки по старому варианту // c генерацией ZLib заголовка раскоментируйте директиву ниже // Но есть нюанс - распаковка с автогенерируемым заголовком в очень редких случаях // не сможет открыть архивы созданные при помощи 7Zip // {$DEFINE USE_AUTOGENERATED_ZLIB_HEADER} // Настройки только под FPC!!! // Если необходимо использовать штатный модуль ZLib идущий в составе Lazarus // раскоментируйте директиву ниже // {$DEFINE USE_DEFAULT_FPC_ZLIB} // ВНИМАНИЕ!!! // ============================================================================= // КОД СЛЕДУЮЩИЙ НИЖЕ НЕ ПРЕДНАЗНАЧЕН ДЛЯ ИЗМЕНЕНИЯ ПРОГРАММИСТОМ И // СОДЕРЖИТ КРИТИЧЕСКИЕ НАСТРОЙКИ ДЛЯ БИБЛИОТЕКИ FWZip // Lazarus предлагает использовать внешнюю библиотеку // отключаем такое поведение и включаем использование скомпиленых обьектников {$IFDEF FPC} {$IFNDEF USE_DEFAULT_FPC_ZLIB} {$DEFINE USE_ZLIB_FPC} {$ENDIF} {$UNDEF USE_ZLIB_EX} {$UNDEF USE_ZLIB_DLL} {$UNDEF OLDEST_ZLIB} {$ELSE} // deflateInit2_ и inflateInit2_ отсутствуют в Delphi вплоть до 2009-ой // поэтому при использовании старых версий дельфи и стандартного модуля ZLib // необходимо отключать использование данных функций {$IF COMPILERVERSION < 20.0 } {$DEFINE OLDEST_ZLIB} {$ELSE} {$UNDEF OLDEST_ZLIB} {$IFEND} {$ENDIF} // Если подключена библиотека ZLibEx, то использовать deflateInit2_ и inflateInit2_ можно // при этом, отключаем использование внешней библиотеки {$IFDEF USE_ZLIB_EX} {$UNDEF OLDEST_ZLIB} {$UNDEF USE_ZLIB_DLL} {$ENDIF} // Разрешаем использовать два устаревших метода компресии буферов {$DEFINE USE_OLDEST_METHODS} // Если подключена внешняя библиотека, то использовать deflateInit2_ и inflateInit2_ можно {$IFDEF USE_ZLIB_DLL} {$UNDEF OLDEST_ZLIB} {$UNDEF USE_OLDEST_METHODS} {$ENDIF} // Если использовать deflateInit2_ и inflateInit2_ нельзя, // принудительно переключаемся на старый режим работы с автогенерируемыми заголовками {$IFDEF OLDEST_ZLIB} {$DEFINE USE_AUTOGENERATED_ZLIB_HEADER} {$UNDEF USE_OLDEST_METHODS} {$ELSE} {$UNDEF USE_AUTOGENERATED_ZLIB_HEADER} {$ENDIF}