DataFlex
DataFlex
Transition from ZipEntry.NextEntry to ZipEntry.GetNext
Provides instructions for replacing deprecated NextEntry method calls with GetNext.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoZip
Variant vEntry
Handle hoEntry
Boolean iFinished
Variant vNext
Handle hoNext
Variant vZe
Handle hoZe
Boolean iEntryValid
String sTemp1
Boolean bTemp1
Move False To iSuccess
// ------------------------------------------------------------------------
// The NextEntry method is deprecated.
// See below or code showing how to rewrite using EntryAt/GetNext
Get Create (RefClass(cComChilkatZip)) To hoZip
If (Not(IsComObjectCreated(hoZip))) Begin
Send CreateComObject of hoZip
End
Get ComOpenZip Of hoZip "qa_data/zips/xml_files.zip" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoZip To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComFirstEntry Of hoZip To vEntry
If (IsComObject(vEntry)) Begin
Get Create (RefClass(cComChilkatZipEntry)) To hoEntry
Set pvComObject Of hoEntry To vEntry
End
Get ComLastMethodSuccess Of hoZip To bTemp1
If (bTemp1 = False) Begin
Showln "This zip archive is empty."
Procedure_Return
End
Move False To iFinished
While (iFinished = False)
Get ComIsDirectory Of hoEntry To bTemp1
If (bTemp1 = False) Begin
Get ComFileName Of hoEntry To sTemp1
Showln sTemp1
End
Else Begin
Get ComFileName Of hoEntry To sTemp1
Showln "(directory) " sTemp1
End
Get ComNextEntry Of hoEntry To vNext
If (IsComObject(vNext)) Begin
Get Create (RefClass(cComChilkatZipEntry)) To hoNext
Set pvComObject Of hoNext To vNext
End
Get ComLastMethodSuccess Of hoEntry To bTemp1
If (bTemp1 = False) Begin
Move True To iFinished
End
Send Destroy of hoEntry
Move hoNext To hoEntry
Loop
Send ComCloseZip To hoZip
Showln "----"
// ------------------------------------------------------------------------
// Do the equivalent using EntryAt/GetNext.
Get ComOpenZip Of hoZip "qa_data/zips/xml_files.zip" To iSuccess
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 0 vZe To iSuccess
Move True To iEntryValid
While (iEntryValid = True)
Get ComIsDirectory Of hoZe To bTemp1
If (bTemp1 = False) Begin
Get ComFileName Of hoZe To sTemp1
Showln sTemp1
End
Else Begin
Get ComFileName Of hoZe To sTemp1
Showln "(directory) " sTemp1
End
Get ComGetNext Of hoZe To iEntryValid
Loop
Send ComCloseZip To hoZip
End_Procedure