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

Transition from Zip.AppendOneFileOrDir to Zip.AddFile

Provides instructions for replacing deprecated AppendOneFileOrDir method calls with AddFile.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set zip [new_CkZip]

#  ...
#  ...
set localFilePath "c:/someDir/example.dat"
set saveExtraPath 0

#  ------------------------------------------------------------------------
#  The AppendOneFileOrDir method is deprecated:

# entryObj is a CkZipEntry
set entryObj [CkZip_AppendOneFileOrDir $zip $localFilePath $saveExtraPath]
if {[CkZip_get_LastMethodSuccess $zip] == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

#  ...
#  ...

delete_CkZipEntry $entryObj

#  ------------------------------------------------------------------------
#  Do the equivalent using AddFile.

#  Instead of returning the zip entry object, we just return success/failure.
set success [CkZip_AddFile $zip $localFilePath $saveExtraPath]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    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_CkZipEntry $ze