Home Forums ActiveX components Xceed Zip for ActiveX & x64 Unzipping to memory only gives blocks of 1024 bytes

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • User (Old forums)
    Member
    Post count: 23064
    #42485 |

    Greetings,

    I am new to the Xceed compression library and not able to figure out why unZipping to memory only gives 1024 bytes per callback event.

    In the XM_UNZIPPREPROCESSINGFILE event I set xDestination to xudMemory  and according to the docs the complete data should be passed on the first XM_UNZIPPINGMEMORYFILE event.

    The docs at http://doc.xceedsoft.com/products/XceedZip/UnzipPreprocessingFile_event.html  states:

    Setting this parameter to xudMemory (1) will cause the file to be unzipped to memory via the UnzippingMemoryFile event. The entire file’s uncompressed data will be provided through a single occurrence of the UnzipPreprocessingFile event in this case.” 

    I must have overlooked or misunderstood something but not able to circle in what.  Any suggestions where to look?

    Thanks in advance!

    Kind regards
    Viggo 

     

    Imported from legacy forums. Posted by Viggo (had 850 views)

    User (Old forums)
    Member
    Post count: 23064

    Found the cause; the documentation for the structure is incorrect!   I had based my structure on the documentation and not the *.h file.
    The SizeHigh longs are the issue.

    I am using the DLL API whilst programming this in the Clarion languange and use cut’n paste and then adapt as needed.  The *.h file is correct and it works fine now.

    This is not correct: http://doc.xceedsoft.com/products/XceedZip/#xcdUnzipPreprocessingFileParams_structure.html

    typedef struct _xcdUnzipPreprocessingFileParams
    {
      const WORD wStructSize; 
      const HXCEEDZIP hZip; 
      const TCHAR szFilename[ MAX_PATH ]; 
      const TCHAR szComment[ 1024 ]; 
      TCHAR szDestFilename[ MAX_PATH ]; 
      const LONG lSize; 
      const LONG lSizeHigh;
      const LONG lCompressedSize; 
      const LONG lCompressedSizeHigh;
      xcdFileAttributes xAttributes; 
      const LONG lCRC; 
      SYSTEMTIME stModified; 
      SYSTEMTIME stAccessed; 
      SYSTEMTIME stCreated; 
      const xcdCompressionMethod xMethod; 
      const BOOL bEncrypted; 
      TCHAR szPassword[ MAX_PATH ]; 
      const LONG lDiskNumber; 
      BOOL bExcluded; 
      const xcdSkippingReason xReason; 
    const BOOL bExisting;   
      xcdUnzipDestination xDestination; 

    } xcdUnzipPreprocessingFileParams; 

    This is correct (from the  XceedZipAPI.h )

    // UnzipPreprocessingFile event parameters
    typedef struct _xcdUnzipPreprocessingFileParamsA
    {
      /* IN  */ WORD                  wStructSize;
      /* IN  */ HXCEEDZIP             hZip;
      /* IN  */ char                  szFilename[ XCD_MAX_PATH ];
      /* IN  */ char                  szComment[ 1024 ];
      /* OUT */ char                  szDestFilename[ XCD_MAX_PATH ];
      /* IN  */ LONG                  lSize;
      /* IN  */ LONG                  lCompressedSize;
      /* OUT */ xcdFileAttributes     xAttributes;
      /* IN  */ LONG                  lCRC;
      /* OUT */ SYSTEMTIME            stModified;
      /* OUT */ SYSTEMTIME            stAccessed;
      /* OUT */ SYSTEMTIME            stCreated;
      /* IN  */ xcdCompressionMethod  xMethod;
      /* IN  */ BOOL                  bEncrypted;
      /* OUT */ char                  szPassword[ XCD_MAX_PATH ];
      /* IN  */ LONG                  lDiskNumber;
      /* OUT */ BOOL                  bExcluded;
      /* IN  */ xcdSkippingReason     xReason;
      /* IN  */ BOOL                  bExisting;
      /* OUT */ xcdUnzipDestination   xDestination;
      /* IN */  LONG                  lSizeHigh;
      /* IN */  LONG                  lCompressedSizeHigh;
    } xcdUnzipPreprocessingFileParamsA;

    Regards
    Viggo 

     

    Imported from legacy forums. Posted by Viggo (had 237 views)

    Diane [Xceed]
    Moderator
    Post count: 1353

    Hi Viggo,

    Thank you for bringing this to our attention. The lead developer submitted a request to the documentation team with the correct information.

    Imported from legacy forums. Posted by Diane [Xceed] (had 1294 views)

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.