![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Transition from ZipEntry.NextEntry to ZipEntry.GetNextProvides instructions for replacing deprecated NextEntry method calls with GetNext. Note: This example requires Chilkat v11.0.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, ZipEntry, Zip; ... procedure TForm1.Button1Click(Sender: TObject); var zip: HCkZip; success: Boolean; entry: HCkZipEntry; finished: Boolean; next: HCkZipEntry; ze: HCkZipEntry; entryValid: Boolean; begin // ------------------------------------------------------------------------ // The NextEntry method is deprecated. // See below or code showing how to rewrite using EntryAt/GetNext zip := CkZip_Create(); success := CkZip_OpenZip(zip,'qa_data/zips/xml_files.zip'); if (success <> True) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; entry := CkZip_FirstEntry(zip); if (CkZip_getLastMethodSuccess(zip) = False) then begin Memo1.Lines.Add('This zip archive is empty.'); Exit; end; finished := False; while finished = False do begin if (CkZipEntry_getIsDirectory(entry) = False) then begin Memo1.Lines.Add(CkZipEntry__fileName(entry)); end else begin Memo1.Lines.Add('(directory) ' + CkZipEntry__fileName(entry)); end; next := CkZipEntry_NextEntry(entry); if (CkZipEntry_getLastMethodSuccess(entry) = False) then begin finished := True; end; CkZipEntry_Dispose(entry); entry := next; end; CkZip_CloseZip(zip); Memo1.Lines.Add('----'); // ------------------------------------------------------------------------ // Do the equivalent using EntryAt/GetNext. success := CkZip_OpenZip(zip,'qa_data/zips/xml_files.zip'); ze := CkZipEntry_Create(); CkZip_EntryAt(zip,0,ze); entryValid := True; while entryValid = True do begin if (CkZipEntry_getIsDirectory(ze) = False) then begin Memo1.Lines.Add(CkZipEntry__fileName(ze)); end else begin Memo1.Lines.Add('(directory) ' + CkZipEntry__fileName(ze)); end; entryValid := CkZipEntry_GetNext(ze); end; CkZip_CloseZip(zip); CkZip_Dispose(zip); CkZipEntry_Dispose(ze); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.