> >2- How did you Cancel the add/delete operation, a working test method > >helps solving the bug. ... > We "Cancel" by returning a special value to one of the progress > callbacks. The DLLs have never "cleaned up" very well when they > are cancelled. I used to warn people about this - the application > itself can keep a backup copy of the .zip to ensure it doesn't > get corrupted. I'd like to see the DLL handle it better but it > sounds like a lot of work! More specifically: Whenever ZCallback() returns true the operation will terminate ASAP. Just to float a suggestion, how about informing the dll of the cancel only *between* adding/deleting the individual files when it's safe (and possibly prompting to crash an add operation if the file currently being added is very large and would otherwise take a long time to terminate)? Angus