Sample code for 30+ languages & platforms
PowerBuilder

Transition from Zip.AppendNew to Zip.AddEmpty

Provides instructions for replacing deprecated AppendNew method calls with AddEmpty.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Zip
string ls_PathInZip
oleobject loo_EntryObj
integer li_IsDir
oleobject loo_Ze
integer li_Index

li_Success = 0

loo_Zip = create oleobject
li_rc = loo_Zip.ConnectToNewObject("Chilkat.Zip")
if li_rc < 0 then
    destroy loo_Zip
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// ...
// ...
ls_PathInZip = "example.dat"

// ------------------------------------------------------------------------
// The AppendNew method is deprecated:

loo_EntryObj = loo_Zip.AppendNew(ls_PathInZip)
if loo_Zip.LastMethodSuccess = 0 then
    Write-Debug loo_Zip.LastErrorText
    destroy loo_Zip
    return
end if

// ...
// ...

destroy loo_EntryObj

// ------------------------------------------------------------------------
// Do the equivalent using AddEmpty.

// Indicate the newly appended entry is not a directory entry.
li_IsDir = 0

li_Success = loo_Zip.AddEmpty(li_IsDir,ls_PathInZip)
if li_Success = 0 then
    Write-Debug loo_Zip.LastErrorText
    destroy loo_Zip
    return
end if

// Do the following if you need the zip entry object for what was just appended.
// The newly appended entry is the last one.
loo_Ze = create oleobject
li_rc = loo_Ze.ConnectToNewObject("Chilkat.ZipEntry")

li_Index = loo_Zip.NumEntries - 1
loo_Zip.EntryAt(li_Index,loo_Ze)


destroy loo_Zip
destroy loo_Ze