TurboPower Abbrevia 3.05
Table of contents
1. Introduction
2. Package names
3. Installation
4. Support
5. Bug Reporting
6. Version history
6.1 3.05 Beta #1
6.2 3.05 Beta #2
6.3 3.05 Beta #3
6.4 3.05 Beta #4
6.5 3.05 Beta #5
6.6 3.05 Beta #6 (Everyone should read this section!)
6.7 3.05 Release Candidate
6.8 3.05 Final
==============================================
1. Introduction
Abbrevia is a compression toolkit for Embarcadero Delphi, C++Builder,
and Kylix. It supports PKZIP 4, Microsoft CAB, TAR, and gzip formats
and the creation of self-extracting archives. It includes visual
components that simplify the manipulation of ZIP files.
This is a source-only release of TurboPower Abbrevia. It includes
design-time and run-time packages for Delphi 6 through 2010 and Kylix 3.
C++Builder support is untested in the current version.
==============================================
2. Package names
TurboPower Abbrevia package names have the following form:
BNNNKKVV.*
| | |
| | +------ VV VCL version (30=Delphi 3, 40=Delphi 4, 70=Delphi 7, K3=Kylix 3)
| +-------- KK Kind of package (R=runtime, D=designtime, CD = CLX designtime,
| CR = CLX runtime, VD = VCL designtime,
| VR = VCL runtime)
|
+----------- NNN Product version number (e.g., 305=version 3.05)
For example, the Abbrevia designtime package files for Delphi 5 have
the filename B305_D50.*.
==============================================
3. Installation
To install TurboPower Abbrevia into your IDE, take the following steps:
1. Unzip the release files into a directory (e.g., d:\abbrevia).
2. Start Delphi or C++Builder.
3. Add the source subdirectory (e.g., d:\abbrevia\source) to the
IDE's library path.
4. Open & compile the runtime package specific to the IDE being
used (e.g. B305vr2007.dpk for Delphi2007)
5. Open & install the designtime package specific to the IDE being
used (e.g. B305vd2007.dpk for Delphi2007). The IDE should notify
you the components have been installed.
6. Make sure the PATH environmental variable contains the directory
in which the compiled packages (i.e., BPL or DPL files) were
placed.
==============================================
4. Support
Support for Abbrevia can be obtained through the "Help" forum on
the SourceForge site at
https://sourceforge.net/projects/tpabbrevia/forums/forum/241865
or in the "turbocontrol.abbrevia" newsgroup at
news://news.turbocontrol.com.
Outlook express can be setup to read these newsgroups if you don't
already have a newsgroup reader.
Access the support newsgroups with a browser:
http://delphi.newswhat.com/geoxml/forumlistthreads?groupname=turbocontrol.abbrevia
==============================================
5. Bug Reporting
All bugs and feature requests are handled via the SF.NET trackers. If
you have a found a bug please post it here so it does not get lost.
http://sourceforge.net/tracker/?group_id=71001
Please post complete steps, with code that duplicates the problem. If
the problem only affects specific files please attach them to the bug
report, or, if they need to be kept confidential, email them to one of
the project administrators.
Please note we can not read your mind, unreported bugs will not be
fixed.
==============================================
6. Version history
Below you will find the history of the 3.05 Beta Releases.
The number in brackets is the Bug and Enchancement Tracker IDs from SF.NET.
================
6.1 3.05 Beta #1
Bug Fixes
---------
[698173] Abbrevia doesn't handle filenames containing non-ASCII characters cleanly
[698181] Compiler Define out of Place
[698182] AV if delete AbMeter before deleting AbVCLMeterLink
[698183] CAB Extract At with new name does not work
[698185] Wrong file type icons shown
[698186] AV if invalid filename specified
[698996] Fails to compile in Kylix 3 Pro
[699595] AbZipper and AbZipKit EReadError
[776882] Unzip truncates file on some machines
[783203] GZIP decompressor not Compliant
Enhancements
------------
[702449] Create DUnit Framework to test Abbrevia
[783192] Add Support Kylix 3
================
6.2 3.05 Beta #2
NOTE: Disk Spanning and Splitting does not work at all in this release.
Bug Fixes
----------
[785769] V3.05 Beta 1. Problem when unzipping.
[806077] Unable to Call TestTagged on new Archives
[806087] DiskFileName needs to be set from FileName.
[800130] ZIP - Potential Memory Leak
[799438] A/V if ZIP Filename only contains extension.
[783583] In TAbZipArchive.FixName() lValue is not set from Value.
[735109] Spanning not working, access violation
[714944] AV on Disk Span, ignores OnRequestBlankDisk
[699140] OnArchive[Save]Progress events don't fire for new archives
[699119] OnProcessItemFailure does not fire for write locked files
Enhancements
------------
None.
================
6.3 3.05 Beta #3
[884897] Invalid CRC32 and Size Values for GZip Archive
[880505] setting Windows file attributes on an open file
[808499] Wrong file dates in zip archives under Linux
[753982] Spanned and split files can be created and read correctly.
[698170] Abbrevia's spanning logic is not in conformance with PkWare spec.
[783617] Spanned and split files created and read correctly.
[783614] Error reporting not right
================
6.4 3.05 Beta #4
[885672] Current code in CVS fails to build
[887793] Current CVS code does not build on D5
[887909] soFreshen isn't working
[858209] GZip from stream to stream with TAbGzipArchive renders error
[858945] copy of File saved to floppy cannot be opened
[719083] Windows exe signature check
[887889] GZip ExtractAt() extract to wrong locatation
[871613] AB305B - QT dependancy in AbGzTyp
================
6.5 3.05 Beta #5
[785269] Access violation on free
[885670] Memory corruption on damaged Zip file
[890888] Memory Leak in abZipPrc
[891007] Compiler warning in AbZipTyp
[889324] problem closing TAbUnzip archive
[888927] compiler warnings with current CVS code
================
6.6 3.05 Beta #6
[906875] IDE hangs when closing form with TAbVCLMeterLink
[892830] freshing file it doesn't set the correct Item.DiskFileName
[752491] Impossible to unzip if basedirectory contains european chars
[698162] Failed unzipping of password protected files clobbers original
[912918] Files Extracted to Network Drives may be truncated
In order to fix bugs [698162] and [912918] a new set of defines were
added to AbDefine.inc that allow you to control the way Abbrevia
extracts files. This is a temporary hack and I will be refactoring the
code to make them redundant after 3.05 is released. The defines only
affect AbUnZip in AbUnzPrc.pas.
When extracting files, we have three options:
1. Clobber - Write in place. This is the original behavior, and the
side effect is that bug [698162] will reappear. If you try to
overwrite a file by extracting from a password protected zip and
aren't able to give the correct password the original file is
deleted.
2. Memory - File is extracted to memory, and if successful is then
written to disk.
3. TempFile - File is extract to the temp directory, and if
successful is then moved to correct location.
In testing, the memory option is the fastest as long as you don't end
up using the page file. Once you start to page, this option is
usually (not always) slower than TempFile method. Clobber was not
tested for performance, it was the original method and buggy.