PureBasic
PureBasic
Transition from Imap.FetchChunk to Imap.FetchRange
Provides instructions for replacing deprecated FetchChunk method calls with FetchRange.Chilkat PureBasic Downloads
IncludeFile "CkImap.pb"
IncludeFile "CkEmailBundle.pb"
IncludeFile "CkMessageSet.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
failedSet.i = CkMessageSet::ckCreate()
If failedSet.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
fetchedSet.i = CkMessageSet::ckCreate()
If fetchedSet.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ------------------------------------------------------------------------
; The FetchChunk method is deprecated:
bundleObj.i = CkImap::ckFetchChunk(imap,startSeqNum,count,failedSet,fetchedSet)
If CkImap::ckLastMethodSuccess(imap) = 0
Debug CkImap::ckLastErrorText(imap)
CkImap::ckDispose(imap)
CkMessageSet::ckDispose(failedSet)
CkMessageSet::ckDispose(fetchedSet)
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)
CkMessageSet::ckDispose(failedSet)
CkMessageSet::ckDispose(fetchedSet)
CkEmailBundle::ckDispose(bundleOut)
ProcedureReturn
EndIf
CkImap::ckDispose(imap)
CkMessageSet::ckDispose(failedSet)
CkMessageSet::ckDispose(fetchedSet)
CkEmailBundle::ckDispose(bundleOut)
ProcedureReturn
EndProcedure