Sample code for 30+ languages & platforms
Delphi DLL Requires Chilkat v11.0.0+

Transition from ZipEntry.NextEntry to ZipEntry.GetNext

Provides instructions for replacing deprecated NextEntry method calls with GetNext.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
zip: HCkZip;
entry: HCkZipEntry;
finished: Boolean;
next: HCkZipEntry;
ze: HCkZipEntry;
entryValid: Boolean;

begin
success := False;

//  ------------------------------------------------------------------------
//  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);