Sample code for 30+ languages & platforms
DataFlex

Transition from Imap.ThreadCmd to Imap.QueryThread

Provides instructions for replacing deprecated ThreadCmd method calls with QueryThread.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoImap
    String sThreadAlg
    String sCharset
    String sSearchCriteria
    Boolean iBUid
    Variant vJsonObj
    Handle hoJsonObj
    Variant vJson
    Handle hoJson
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatImap)) To hoImap
    If (Not(IsComObjectCreated(hoImap))) Begin
        Send CreateComObject of hoImap
    End

    // ...
    // ...

    Move "REFERENCES" To sThreadAlg
    Move "UTF-8" To sCharset
    Move "SUBJECT a" To sSearchCriteria
    Move True To iBUid

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

    Get ComThreadCmd Of hoImap sThreadAlg sCharset sSearchCriteria iBUid To vJsonObj
    If (IsComObject(vJsonObj)) Begin
        Get Create (RefClass(cComChilkatJsonObject)) To hoJsonObj
        Set pvComObject Of hoJsonObj To vJsonObj
    End
    Get ComLastMethodSuccess Of hoImap To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoImap To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // ...
    // ...

    Send Destroy of hoJsonObj

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

    Set ComSearchCharset Of hoImap To "UTF-8"

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get pvComObject of hoJson to vJson
    Get ComQueryThread Of hoImap sThreadAlg sSearchCriteria iBUid vJson To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoImap To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure