VCLZip Native Delphi Zip/UnZip Component!
IMPORTANT: If installing the registered version, please be sure to always re-install/rebuild the components (VCLZip and VCLUnZip) to the component pallette (or rebuild the design time package) so that the ThisVersion property and any other new properties will be properly updated. If your application still does not run without the IDE, open up VCLZip's package, click on options and look at the Directories/Conditionals tab. If KPDEMO is defined, remove it and recompile the package.
***IMPORTANT: Please remember do not install these components into a package by the name of either VCLZip or VCLUnZip. You will receive an error if you do.
PLEASE TAKE A LOOK AT THE "WHAT's NEW IN THIS VERSION" LINK IN THE HELP FILE AS IT HAS CONVENIENT LINKS TO ALL OF THE NEW TOPICS.
====================
Version 4.60 Build 1 Beta (02/24/2009)
- EncryptInPlace - New procedure that encrypts files in an existing archive without the need for unzipping and rezipping those files.
- DecryptInPlace - New procedure that decrypts files in an existing archive without the need for unzipping and rezipping those files.
- Ability to specify a file date (TDateTime) when calling ZipFromStream and ZipFromBuffer.
Version 4.50 Build 1 (11/24/2008) UNICODE SUPPORT
PLEASE READ "Using Unicode" in the Help File or UsingUnicode.txt in the /help directory for important information about how to activate the use of Unicode in VCLZip. For all but Delphi/BCB 2009 you will need to define a conditional named IMPLEMENT_UNICODE
- Unicode Support
- New read-only property thisReleaseLevel reflecting whether this version is a Beta or Production version
Beginning with VCLZip 4.50, VCLZip is able to store Unicode filenames and paths as well as use Unicode in archive filenames and paths.
In order to allow VCLZip to implement Unicode filenames in Delphi/BCB 6-2007 (NOT 2009), you must create a compiler define...
When you install VCLZip 4.50 the following should already be done. But to verify that it is done, open up the VCLZip package with the package editor. In Project | Options, select the Directories/Conditionals tab and if it is not there already, type IMPLEMENT_UNICODE into the conditionals text box and save.
In order to implement Unicode in Delphi/BCB 6-2007, VCLZip uses WideStrings wherever filenames and paths are used. Defining IMPLEMENT_UNICODE will cause VCLZip to compile all such strings as WideStrings and cause WideString functions to be called instead of the normal Ansii String functions. When IMPLEMENT_UNICODE is not defined, VCLZip is compiled as it always was in earlier versions using regular Ansii strings and functions.
VERY IMPORTANT
- Only Delphi 6 and above, and BCB 6 and above are supported when implementing Unicode. Delphi 5 and below and BCB 5 and below are not supported for Unicode.
- If you are upgrading an existing application that uses VCLZip, this will cause many events to require changes since parameters that were regular strings will now be widestrings in a lot of instances.
- Prior to Delphi 2009, the Delphi GUI components do not support Unicode. Therefore, if you wish to implement Unicode in your GUI you will need to add Unicode capable components. When modifying the VCLZip Zip Utility Example to work with VCLZip 4.50, we used the TMS Unicode Component Pack which you can find at
http://www.tmssoftware.com/site/tmsuni.asp
The VCLZip Zip Utility Example uses TMS Unicode controls, but does not include the TMS controls themselves. You will have to purchase TMS Unicode if you do not already own it for the example project to work. However, it is not needed for VCLZip itself to support Unicode.
====================
Version 4.00 Build 3 (01/26/2008)
- Build 2 fix was not complete. Did not account for STOREd files. That fix is completed.
- Added check for '\' at end to TempPath property.
====================
Version 4.00 Build 2 (01/25/2008)
- Fixed bug that did not allow you to call CheckArchive right after zipping a file with AES compression without closing and opening the file first or creating a new instance of VCLZip to perform the CheckArchive.
====================
Version 4.00 Build 1 (01/21/2008)
- Added Strong AES (AE-2) Encryption, compatible with PKZip and WinZip.
====================
Version 3.10 Build 1 (11/28/2008)
- Several bug fixes.
- Added support for Delphi 2005, 2006, 2007
- Added support for BCB 2006, 2007
- Improved memory performance when working with archives containing extremely high number of compressed files.
====================
Version 3.06 Build 2
Made Delphi 2005 compatible
Other assorted fixes
====================
Version 3.05 Build 1
Fixed a lot of incompatabilities between VCLZip and WinZip
Other assorted fixes
====================
Version 3.04 Build 1
New ZLib methods for optimized compression and decompression of single entities of data in standard ZLib format, without the overhead of the PKZip format. This is excellent for compression of data to be sent across the net, compressing web pages (http compliant compression), blobs, etc.
- ZLibCompressStream
- ZLibDecompressStream
- ZLibCompressBuffer
- ZLibDecompressBuffer
- ZLibCompressString
- ZLibDecompressString
Overloaded TStream Methods for Delphi 4,5, BCB 4, and 5
- UnZipToStream
- UnZipToStreamByIndex
- ZipFromStream
Special OnGetNextTStream Event for Delphi 4,5, BCB 4, and 5
- Allows zipping multiple TStreams in one process
- More efficient than calling ZipFromStream multiple times
Capability to use the latest version of ZLib 1.2.1.
- VCLZip currently uses 1.4.1 by default.
- By defining ZLIB121, VCLZip will use the latest version of ZLib which is included with the registered version.
Some optimization improvements which should show some improvement in zipping and unzipping speed when using TkpStreams with D4, D5, BCB4, and BCB5.
============
Version 3.03 (VCLZip Pro)
- Please test your application thoroughly with this new version of VCLZip Pro. While it has been tested and has even been used in at least two production applications for several months now prior to initial release, there are so many combinations of property settings, environment differences, and ways to use VCLZip that you should always test VCLZip completely in your application before deploying.
*** New Zip64 capabilities, properties, methods and events:
- Uncompressed, Compressed, and Archive file sizes can be up to 2^63-1 bytes in length.
- You can compress up to 2147483647 files into an archive. This is compatible with PKZip's Zip64 format.
- If a file does not extend beyond any of the original limitations (filesizes of 4 gig or 65535 files) then no Zip64 format information is included in the archive.
- property isZip64 - tells you when you are working with a zip file that is using Zip64 format.
Much faster processing due to linking to Zlib object files for compression and decompression routines.
Blocked Zip Files (spanned zip archives split onto hard drive)
- Now completely compatible with PKZip and WinZip split archives file naming format.
- For backwards compatability you can tell VCLZip to use the old VCLZip filenaming format by using the BlockMode property.
- New method OnFileNameForSplitPart called just before each split filepart is created. VCLZip supplies a default implementation of this method so for most purposes you won't need your own.
- method DefaultFileNameForSplitPart - VCLZip calls this internally if you don't define your own OnFileNameForSplitPart. You can also call it from your own OnFileNameForSplitPart if you wish to add some processing to the default behavior.
- property BlockMode - determines whether VCLZip uses PKZip/WinZip standard naming convention or VCLZip classic method.
- method DefaultGetNextDisk - VCLZip calls this internally if you