|
Post by gmyers on Nov 9, 2009 11:56:47 GMT -5
Using VCLZip 4.5.1 with Delphi 2007, the design-time packages define IMPLEMENT_UNICODE by default, which changes some of the event paramenters, so we just went with it. But I just have discovered that one of our test programs that uses "ReplaceReadOnly := True;" to overwrite files with the read-only attr set no longer works.
Among other things, IMPLEMENT_UNICODE causes TkpFileStream to be assigned from TkpWideFileStream instead of TFileStream. In TkpWideFileStream.Create, when the parent constructor fails to return a valid file handle, an exception of type Exception is raised. However, at line 783 of kpUnzipp.pas, the exception handler is watching for an EFCreateError exception. The Exception exception is not handled, and the read-only file is skipped.
gmyers
|
|
|
Post by Kevin on Nov 9, 2009 12:38:59 GMT -5
Thanks, I will take a look at that.
Kevin
|
|
|
Post by Kevin on Nov 18, 2009 20:09:01 GMT -5
Since Exception is in EFCreateError's hierarchy, if you just change the "On EFCreateError" to "On Exception" it should take care of it. And I will make the change to the code for the upcoming version.
You say "Among other things", are there other similar issues that you have found?
Thanks,
Kevin
|
|