Sample code for 30+ languages & platforms
PureBasic

Transition from Imap.FetchSequence to Imap.FetchRange

Provides instructions for replacing deprecated FetchSequence method calls with FetchRange.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmailBundle.pb"
IncludeFile "CkImap.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ; ...
    ; ...

    startSeqNum.i = 1
    count.i = 5

    ; ------------------------------------------------------------------------
    ; The FetchSequence method is deprecated:

    bundleObj.i = CkImap::ckFetchSequence(imap,startSeqNum,count)
    If CkImap::ckLastMethodSuccess(imap) = 0
        Debug CkImap::ckLastErrorText(imap)
        CkImap::ckDispose(imap)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkEmailBundle::ckDispose(bundleObj)

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

    headersOnly.i = 0

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

    success = CkImap::ckFetchRange(imap,headersOnly,startSeqNum,count,bundleOut)
    If success = 0
        Debug CkImap::ckLastErrorText(imap)
        CkImap::ckDispose(imap)
        CkEmailBundle::ckDispose(bundleOut)
        ProcedureReturn
    EndIf



    CkImap::ckDispose(imap)
    CkEmailBundle::ckDispose(bundleOut)


    ProcedureReturn
EndProcedure