Sample code for 30+ languages & platforms
PowerBuilder

Transition from Imap.ThreadCmd to Imap.QueryThread

Provides instructions for replacing deprecated ThreadCmd method calls with QueryThread.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Imap
string ls_ThreadAlg
string ls_Charset
string ls_SearchCriteria
integer li_BUid
oleobject loo_JsonObj
oleobject loo_Json

li_Success = 0

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

// ...
// ...

ls_ThreadAlg = "REFERENCES"
ls_Charset = "UTF-8"
ls_SearchCriteria = "SUBJECT a"
li_BUid = 1

// ------------------------------------------------------------------------
// The ThreadCmd method is deprecated:

loo_JsonObj = loo_Imap.ThreadCmd(ls_ThreadAlg,ls_Charset,ls_SearchCriteria,li_BUid)
if loo_Imap.LastMethodSuccess = 0 then
    Write-Debug loo_Imap.LastErrorText
    destroy loo_Imap
    return
end if

// ...
// ...

destroy loo_JsonObj

// ------------------------------------------------------------------------
// Do the equivalent using QueryThread.
// Your application creates a new, empty JsonObject object which is passed 
// in the last argument and filled upon success.

loo_Imap.SearchCharset = "UTF-8"

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

li_Success = loo_Imap.QueryThread(ls_ThreadAlg,ls_SearchCriteria,li_BUid,loo_Json)
if li_Success = 0 then
    Write-Debug loo_Imap.LastErrorText
    destroy loo_Imap
    destroy loo_Json
    return
end if



destroy loo_Imap
destroy loo_Json