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

Transition from Zip.AppendBd to Zip.AddBd

Provides instructions for replacing deprecated AppendBd method calls with AddBd.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
zip: HCkZip;
pathInZip: PWideChar;
bd: HCkBinData;
entryObj: HCkZipEntry;
ze: HCkZipEntry;
index: Integer;

begin
success := False;

zip := CkZip_Create();

//  ...
//  ...

pathInZip := 'example.dat';

bd := CkBinData_Create();
CkBinData_LoadFile(bd,'c:/someDir/example.dat');

//  ------------------------------------------------------------------------
//  The AppendBd method is deprecated:
//  AppendBd returns the zip entry object, which is usually not needed.

entryObj := CkZip_AppendBd(zip,pathInZip,bd);
if (CkZip_getLastMethodSuccess(zip) = False) then
  begin
    Memo1.Lines.Add(CkZip__lastErrorText(zip));
    Exit;
  end;

//  ...
//  ...

CkZipEntry_Dispose(entryObj);

//  ------------------------------------------------------------------------
//  Do the equivalent using AddBd.

//  Instead of returning the zip entry object, we just return success/failure.
success := CkZip_AddBd(zip,pathInZip,bd);
if (success = False) then
  begin
    Memo1.Lines.Add(CkZip__lastErrorText(zip));
    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 := CkZipEntry_Create();
index := CkZip_getNumEntries(zip) - 1;
CkZip_EntryAt(zip,index,ze);

CkZip_Dispose(zip);
CkBinData_Dispose(bd);
CkZipEntry_Dispose(ze);