Delphi DLL Requires Chilkat v11.0.0+
Delphi DLL
Transition from ZipEntry.NextEntry to ZipEntry.GetNext
Provides instructions for replacing deprecated NextEntry method calls with GetNext.Chilkat Delphi DLL Downloads
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);