geoffsmith82 / d7zip

A Delphi Wrapper around 7z.dll
Other
41 stars 12 forks source link

SetProgressCallback shows insufficient space available if format is set to UDF #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. I used your example shown at progdigy related to progressbar but instead of 
7zip format I tried to uncompress an ISO image

with CreateInArchive(CLSID_CFormatUdf) do
  begin
    OpenFile('d:\myiso.iso'); //udf iso 
    SetProgressCallback(nil, ProgressCallback);
    ExtractTo('e:\'); //a pendrive
  end;
2. If progressbar is not used, then it works as expected.
3. BTW: program becomes unresponsive.

What is the expected output? What do you see instead?
Progressbar working, but I only see error.

What version of the product are you using? On what operating system?
1.2

Please provide any additional information below.
Thanks by advance. Great component. I'm using Delphi 7.

Original issue reported on code.google.com by vha...@gmail.com on 24 Mar 2012 at 7:38

GoogleCodeExporter commented 9 years ago
The demo is incorrect. (VCL-components are not thread-safe)

Attached is a demo on how it could work, idea taken from the JCL.
Unfortunately still the progress doesn't really work right that way - but 
better than a crash.

Cheers,
Ralf

Original comment by kiter...@gmail.com on 17 Apr 2012 at 10:16

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks kiteralf, it works nicely now. I just added an animated progress bar to 
let users know that it is working in background. ;)

Original comment by vha...@gmail.com on 26 Dec 2012 at 9:36