Sample code for 30+ languages & platforms
Tcl

Transition from Zip.AppendBd to Zip.AddBd

Provides instructions for replacing deprecated AppendBd method calls with AddBd.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set zip [new_CkZip]

# ...
# ...

set pathInZip "example.dat"

set bd [new_CkBinData]

CkBinData_LoadFile $bd "c:/someDir/example.dat"

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

# entryObj is a CkZipEntry
set entryObj [CkZip_AppendBd $zip $pathInZip $bd]
if {[CkZip_get_LastMethodSuccess $zip] == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    delete_CkBinData $bd
    exit
}

# ...
# ...

delete_CkZipEntry $entryObj

# ------------------------------------------------------------------------
# Do the equivalent using AddBd.

# Instead of returning the zip entry object, we just return success/failure.
set success [CkZip_AddBd $zip $pathInZip $bd]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    delete_CkBinData $bd
    exit
}

# Do the following if you need the zip entry object for what was just appended.
# The newly appended entry is the last one.
set ze [new_CkZipEntry]

set index [expr [CkZip_get_NumEntries $zip] - 1]
CkZip_EntryAt $zip $index $ze

delete_CkZip $zip
delete_CkBinData $bd
delete_CkZipEntry $ze