Sample code for 30+ languages & platforms
DataFlex

Transition from Zip.GetEntryByIndex to Zip.EntryAt

Provides instructions for replacing deprecated GetEntryByIndex method calls with EntryAt.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoZip
    Integer iIndex
    Variant vEntryObj
    Handle hoEntryObj
    Variant vZe
    Handle hoZe
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatZip)) To hoZip
    If (Not(IsComObjectCreated(hoZip))) Begin
        Send CreateComObject of hoZip
    End

    // ...
    // ...
    Move 15 To iIndex

    // ------------------------------------------------------------------------
    // The GetEntryByIndex method is deprecated:

    Get ComGetEntryByIndex Of hoZip iIndex To vEntryObj
    If (IsComObject(vEntryObj)) Begin
        Get Create (RefClass(cComChilkatZipEntry)) To hoEntryObj
        Set pvComObject Of hoEntryObj To vEntryObj
    End
    Get ComLastMethodSuccess Of hoZip To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // ...
    // ...

    Send Destroy of hoEntryObj

    // ------------------------------------------------------------------------
    // Do the equivalent using EntryAt.
    // Your application creates a new, empty ZipEntry object which is passed 
    // in the last argument and filled upon success.

    Get Create (RefClass(cComChilkatZipEntry)) To hoZe
    If (Not(IsComObjectCreated(hoZe))) Begin
        Send CreateComObject of hoZe
    End
    Get pvComObject of hoZe to vZe
    Get ComEntryAt Of hoZip iIndex vZe To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure