Sample code for 30+ languages & platforms
DataFlex

Transition from Imap.Sort to Imap.QueryMbx

Provides instructions for replacing deprecated Sort method calls with QueryMbx.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoImap
    String sSearchCriteria
    Boolean iBUid
    String sSortCriteria
    Variant vMsgSetObj
    Handle hoMsgSetObj
    Variant vMset
    Handle hoMset
    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 "FROM bob@example.com" To sSearchCriteria
    Move True To iBUid
    Move "DATE SUBJECT" To sSortCriteria

    // ------------------------------------------------------------------------
    // The Sort method is deprecated:

    Get ComSort Of hoImap sSortCriteria "UTF-8" sSearchCriteria iBUid To vMsgSetObj
    If (IsComObject(vMsgSetObj)) Begin
        Get Create (RefClass(cComChilkatMessageSet)) To hoMsgSetObj
        Set pvComObject Of hoMsgSetObj To vMsgSetObj
    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 hoMsgSetObj

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

    // The following properties are used instead of function arguments.
    Set ComSortCriteria Of hoImap To "DATE SUBJECT"
    Set ComSearchCharset Of hoImap To "UTF-8"

    Get Create (RefClass(cComChilkatMessageSet)) To hoMset
    If (Not(IsComObjectCreated(hoMset))) Begin
        Send CreateComObject of hoMset
    End
    Get pvComObject of hoMset to vMset
    Get ComQueryMbx Of hoImap sSearchCriteria iBUid vMset To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoImap To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure