Sample code for 30+ languages & platforms
DataFlex

Transition from Imap.FetchBundleAsMime to Imap.FetchSingleBd

Provides instructions for replacing deprecated FetchBundleAsMime method calls with FetchSingleBd.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoImap
    Variant vMset
    Handle hoMset
    Variant vSaObj
    Handle hoSaObj
    Variant vBdMime
    Handle hoBdMime
    Boolean iBUid
    Integer iNumEmails
    Integer i
    String sTemp1
    Integer iTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    // ...
    // ...

    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 "FROM joe@example.com" True vMset To iSuccess
    // ...
    // ...

    // ------------------------------------------------------------------------
    // The FetchBundleAsMime method is deprecated:

    Get pvComObject of hoMset to vMset
    Get ComFetchBundleAsMime Of hoImap vMset To vSaObj
    If (IsComObject(vSaObj)) Begin
        Get Create (RefClass(cComCkStringArray)) To hoSaObj
        Set pvComObject Of hoSaObj To vSaObj
    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 hoSaObj

    // ------------------------------------------------------------------------
    // Do the equivalent using FetchSingleBd.

    Set ComAutoDownloadAttachments Of hoImap To True

    Get Create (RefClass(cComChilkatBinData)) To hoBdMime
    If (Not(IsComObjectCreated(hoBdMime))) Begin
        Send CreateComObject of hoBdMime
    End
    Get ComHasUids Of hoMset To iBUid
    Get ComCount Of hoMset To iNumEmails
    Move 0 To i
    While (i < iNumEmails)
        Get ComGetId Of hoMset i To iTemp1
        Get pvComObject of hoBdMime to vBdMime
        Get ComFetchSingleBd Of hoImap iTemp1 iBUid vBdMime To iSuccess
        // ...
        // ...

        Move (i + 1) To i
    Loop



End_Procedure