View Issue Details

IDProjectCategoryView StatusLast Update
0005464JEDI Code LibraryJclCompressionpublic2019-04-13 15:45
ReportercguserAssigned Tooutchy 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product VersionVersion 2.2 
Target VersionFixed in VersionVersion 2.5 (Subversion repository/Daily zips) 
Summary0005464: TJclZipCompressArchive.GetSupportedCompressionMethods missing cmPPMd
DescriptionCan't create a zip file with PPMd compression because on line 6401 of JclCompression.pas (jcl-2.2.1.3970) that format is missing on the hardcoded return values of

function TJclZipCompressArchive.GetSupportedCompressionMethods: TJclCompressionMethods;
begin
  Result := [cmCopy,cmDeflate,cmDeflate64,cmBZip2,cmLZMA];
end;

Additional InformationAdding cmPPMd to that result set solves the issue.

  Result := [cmCopy,cmDeflate,cmDeflate64,cmBZip2,cmLZMA,cmPPMd];

Note that using the 7z GUI to create a ZIP archive, cmPPMd is indeed an available compression method. Incidentaly that provides better compression rate (for pure text only files) than even cmLZMA.
TagsNo tags attached.
Fixed in GIT commit
Fixed in SVN revision
IDE versionDelphi/C++Builder XE

Activities

outchy

2011-01-20 18:22

administrator   ~0018305

Thanks for the report, your change is committed in revision 3485.

outchy

2011-01-20 18:23

administrator   ~0018306

I think 7z compression and update archive should expose IJclArchiveCompressionMethod as well, dunno why this interface is missing from these classes.

newby

2016-12-16 15:04

reporter   ~0021405

Last edited: 2016-12-16 15:06

This problem hasn't been solved even in the latest daily version of 2016-12-16.

When creating a zip file with
(aCompressArchive as TJclZipUpdateArchive).SetCompressionMethod(cmPPMd);

If says

---------------------------
Ziptest
---------------------------
Property is not available.
---------------------------
OK
---------------------------

When using cmLZMA it says Wrong Parameter.

Only Copy, Delate and Deflate64 are working for ZIP.

newby

2016-12-16 17:15

reporter   ~0021406

I even think there is no difference between cmCopy and cmPPMd.
My archive, no matter which method I use, always has the same final size.

mh

2019-04-13 15:13

reporter   ~0021675

As the cmPPMd was still/again missing from the return value I added it and created a new pull request. So let's see what comes out of it.

https://github.com/project-jedi/jcl/pull/52

AHUser

2019-04-13 15:45

developer   ~0021683

Fixed in master branch

Issue History

Date Modified Username Field Change
2011-01-20 17:35 cguser New Issue
2011-01-20 18:14 outchy Project JEDI VCL => JEDI Code Library
2011-01-20 18:15 outchy IDE version => Delphi/C++Builder XE
2011-01-20 18:15 outchy Category 04 Feature Request => JclCompression
2011-01-20 18:15 outchy Product Version Daily / SVN => Version 2.2
2011-01-20 18:22 outchy Note Added: 0018305
2011-01-20 18:23 outchy Note Added: 0018306
2011-01-20 18:23 outchy Assigned To => outchy
2011-01-20 18:23 outchy Status new => feedback
2016-12-16 15:04 newby Note Added: 0021405
2016-12-16 15:06 newby Note Edited: 0021405
2016-12-16 15:06 newby Note Edited: 0021405
2016-12-16 17:15 newby Note Added: 0021406
2019-04-13 15:13 mh Note Added: 0021675
2019-04-13 15:45 AHUser Note Added: 0021683
2019-04-13 15:45 AHUser Status feedback => resolved
2019-04-13 15:45 AHUser Fixed in Version => Version 2.5 (Subversion repository/Daily zips)
2019-04-13 15:45 AHUser Resolution open => fixed