We just started using bszip.dll, a win32 dll, that allows us to zip and unzip files. However, we've run into a couple snags.
1) In order to display a progress bar during compressing/extracting, we are required to pass a pointer to our application's function that the dll will periodically call. The function is responsible for checking the current progress and displaying/updating the bar. The documentation for the extract function looks like this:
declare function zExtractAll Lib "bszip.dll" (ByVal ExtractDirectory as string, ByVal Password as string,_
ByVal OverwriteExisting as byte, ByVal SkipOlder as byte, ByVal UseFolders as byte,_
ByVal TestOnly as byte, ByVal RTInfoFunc as long) as long
DECLARE INTEGER zExtractAll IN bszip STRING extractdir, STRING pswd,;
INTEGER OverwriteExisting, INTEGER SkipOlder, INTEGER UseFolders,;
INTEGER TestOnly, LONG RTInfoFunc
2) In order to get the file name of each of the files included in a zipped file, we are required to call a function: zGetFileName(nIndex). This function returns a pointer to a string somewhere in memory that contains the file's name. The documentation says that the function "MUST be wrapped with StringFromPointer to obtain the VB string." I'm assuming that VB has a means of returning the contents of a memory buffer based on a pointer. Does VFP have anything like this? Is there any way to accomplish this in VFP?
Thanks so much for your help!
Rodd