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

Transition from Zip.AppendOneFileOrDir to Zip.AddFile

Provides instructions for replacing deprecated AppendOneFileOrDir method calls with AddFile.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
zip: TChilkatZip;
localFilePath: WideString;
saveExtraPath: Integer;
entryObj: IChilkatZipEntry;
ze: TChilkatZipEntry;
index: Integer;

begin
success := 0;

zip := TChilkatZip.Create(Self);

//  ...
//  ...
localFilePath := 'c:/someDir/example.dat';
saveExtraPath := 0;

//  ------------------------------------------------------------------------
//  The AppendOneFileOrDir method is deprecated:

entryObj := zip.AppendOneFileOrDir(localFilePath,saveExtraPath);
if (zip.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(zip.LastErrorText);
    Exit;
  end;

//  ...
//  ...

//  ------------------------------------------------------------------------
//  Do the equivalent using AddFile.

//  Instead of returning the zip entry object, we just return success/failure.
success := zip.AddFile(localFilePath,saveExtraPath);
if (success = 0) then
  begin
    Memo1.Lines.Add(zip.LastErrorText);
    Exit;
  end;

//  Do the following if you need the zip entry object for what was just appended.
//  The newly appended entry is the last one.
ze := TChilkatZipEntry.Create(Self);
index := zip.NumEntries - 1;
zip.EntryAt(index,ze.ControlInterface);