Zip / Unzip options within an APP?

Here’s an update to my scenario:

  • I had to abandon using LSZip because it would consistently GPF when zipping large amounts of data. With my app, the total file size can easily be 5-10 GB. I suspect that the issue is the age of LSZip and that the version of the zip spec that it uses was limited. (My LSZip was from 2008.)
  • With @John_Hickey’s help, I implemented the ClarionZipClass (linked to above). It worked with the file sizes, but while 7Zip would compress 10 GB of photos in about 30 seconds, the class was taking about 2.5 hours (!!).
  • So I switched to using the 7Zip CLI, which was simple. e.g. run("7z a archivename.zip filemask.ext"). That worked well, could easily handle the file sizes, and was very fast (e.g. 10 GB of photos took about 30 seconds to zip up), but I wanted to show a progress bar so I started looking at OddJobs.
  • In the meantime, John figured out what was causing the ClarionZipClass to run so slowly and also added a progress bar to the class. What was taking 2.5 hours now takes less than 2 minutes. It’s slower than 7Zip, but the wait for my usage is trivial so that’s what I’m using now.

I think John was going to do a ClarionLive about the code. Hopefully he shares his updated code.

(I mistakenly posted this update at Create a ZIP file from a Clarion Application - #3 by sjreryan. Posting it here as well so that this thread is complete.)