Sample code for 30+ languages & platforms
PureBasic

Transition from MailMan.FetchMultipleMime to MailMan.FetchMimeBd

Provides instructions for replacing deprecated FetchMultipleMime method calls with FetchMimeBd.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringTable.pb"
IncludeFile "CkBinData.pb"
IncludeFile "CkMailMan.pb"
IncludeFile "CkStringArray.pb"

Procedure ChilkatExample()

    success.i = 0

    mailman.i = CkMailMan::ckCreate()
    If mailman.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    saUidls.i = CkStringArray::ckCreate()
    If saUidls.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringArray::ckAppend(saUidls,"aaa")
    CkStringArray::ckAppend(saUidls,"bbb")
    CkStringArray::ckAppend(saUidls,"ccc")

    stUidls.i = CkStringTable::ckCreate()
    If stUidls.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringTable::ckAppend(stUidls,"aaa")
    CkStringTable::ckAppend(stUidls,"bbb")
    CkStringTable::ckAppend(stUidls,"ccc")

    ; ------------------------------------------------------------------------
    ; The FetchMultipleMime method is deprecated:

    saMime.i = CkMailMan::ckFetchMultipleMime(mailman,saUidls)
    If CkMailMan::ckLastMethodSuccess(mailman) = 0
        Debug CkMailMan::ckLastErrorText(mailman)
        CkMailMan::ckDispose(mailman)
        CkStringArray::ckDispose(saUidls)
        CkStringTable::ckDispose(stUidls)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkStringArray::ckDispose(saMime)

    ; ------------------------------------------------------------------------
    ; Do the equivalent using FetchMimeBd.

    success = 0
    bdMime.i = CkBinData::ckCreate()
    If bdMime.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    numUidls.i = CkStringTable::ckCount(stUidls)
    i.i = 0
    While i < numUidls
        success = CkMailMan::ckFetchMimeBd(mailman,CkStringTable::ckStringAt(stUidls,i),bdMime)
        ; ...
        ; ...

        i = i + 1
    Wend


    CkMailMan::ckDispose(mailman)
    CkStringArray::ckDispose(saUidls)
    CkStringTable::ckDispose(stUidls)
    CkBinData::ckDispose(bdMime)


    ProcedureReturn
EndProcedure