Xceed Zip for COM/ActiveX on x86/x64 Documentation
Getting started quickly / Compression entirely in memory
In This Topic
    Compression entirely in memory
    In This Topic

    Compression entirely in memory

    To compress entirely in memory, from one memory buffer to another, use the Xceed Compression control's Compress method. Keep in mind that this is a different control than the Xceed Zip control. To uncompress data that has been compressed this way, use the Xceed Compression control's Uncompress method. The output of the Compress method is always a byte array variant.

    Below you will find VB and Delphi examples.

    Visual Basic Copy Code

    ' Don't forget to put an Xceed Compression control on a form
    Dim CompressedData As Variant
    Dim OriginalData As Variant 

    Call XceedCompression1.License( "your license key" )

    XceedCompression1.Compress "This is some text to compress", CompressedData, True
    XceedCompression1.Uncompress CompressedData, OriginalData, True

    Debug.Print OriginalData

    In the example above, the return values of the Compress and Uncompress methods were ignored. Also, an encryption password was not used. However, you could add error checking and passwords, as in the following example:

    Visual Basic Copy Code

    Dim CompressedData As Variant
    Dim OriginalData As Variant
    Dim ResultCode As xcdError 

    Call XceedCompression1.License( "your license key" )

    XceedCompression1.EncryptionPassword = "the password"
    ResultCode = XceedCompression1.Compress("This is some text to compress", CompressedData, True) 

    If ResultCode <> xceSuccess Then 
       MsgBox "Error #" + Str(ResultCode) + " while compressing the data." 
    End If 

    ResultCode = XceedCompression1.Uncompress(CompressedData, OriginalData, True) 

    If ResultCode <> xceSuccess Then 
       MsgBox "Error #" + Str(ResultCode) +" while decompressing the data." 
    EndIf 

    Debug.Print OriginalData

    Delphi Copy Code

    var

       xErr : xcdCompressionError; 
       vaCompressedData : OleVariant; 
       vaOrigData : OleVariant; 
       vaUncompressedData : OleVariant;  

       begin
          vaOrigData := 'This is some text to compress compress compress';  

          XceedCompression1.License( 'your license key' );
          xErr := XceedCompression1.Compress( vaOrigData, vaCompressedData, true );  

          ShowMessage( 'Compress result: ' + XceedCompression1.GetErrorDescription( xErr ) );  

          if ( xErr = xceSuccess ) then 
          begin 
             xErr := XceedCompression1.Uncompress( vaCompressedData, vaUncompressedData, true ); 
            ShowMessage( 'Uncompress result: ' + XceedCompression1.GetErrorDescription( xErr ) ); 
          end; 
       end;