DataFlex
DataFlex
Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd
Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMailman
Variant vSaUidls
Handle hoSaUidls
Handle hoStUidls
Variant vSa
Handle hoSa
Variant vBdMime
Handle hoBdMime
Integer iNumUidls
Integer i
String sTemp1
Boolean bTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatMailMan)) To hoMailman
If (Not(IsComObjectCreated(hoMailman))) Begin
Send CreateComObject of hoMailman
End
// ...
// ...
Get Create (RefClass(cComCkStringArray)) To hoSaUidls
If (Not(IsComObjectCreated(hoSaUidls))) Begin
Send CreateComObject of hoSaUidls
End
Get ComAppend Of hoSaUidls "aaa" To iSuccess
Get ComAppend Of hoSaUidls "bbb" To iSuccess
Get ComAppend Of hoSaUidls "ccc" To iSuccess
Get Create (RefClass(cComChilkatStringTable)) To hoStUidls
If (Not(IsComObjectCreated(hoStUidls))) Begin
Send CreateComObject of hoStUidls
End
Get ComAppend Of hoStUidls "aaa" To iSuccess
Get ComAppend Of hoStUidls "bbb" To iSuccess
Get ComAppend Of hoStUidls "ccc" To iSuccess
// ------------------------------------------------------------------------
// The TransferMultipleMime method is deprecated:
Get pvComObject of hoSaUidls to vSaUidls
Get ComTransferMultipleMime Of hoMailman vSaUidls To vSa
If (IsComObject(vSa)) Begin
Get Create (RefClass(cComCkStringArray)) To hoSa
Set pvComObject Of hoSa To vSa
End
Get ComLastMethodSuccess Of hoMailman To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
// ...
// ...
Send Destroy of hoSa
// ------------------------------------------------------------------------
// Do the equivalent using FetchMimeBd.
Set ComImmediateDelete Of hoMailman To False
Move False To iSuccess
Get Create (RefClass(cComChilkatBinData)) To hoBdMime
If (Not(IsComObjectCreated(hoBdMime))) Begin
Send CreateComObject of hoBdMime
End
Get ComCount Of hoStUidls To iNumUidls
Move 0 To i
While (i < iNumUidls)
Get ComStringAt Of hoStUidls i To sTemp1
Get pvComObject of hoBdMime to vBdMime
Get ComFetchMimeBd Of hoMailman sTemp1 vBdMime To iSuccess
// ...
// Mark the email for deletion.
Get ComStringAt Of hoStUidls i To sTemp1
Get ComDeleteByUidl Of hoMailman sTemp1 To iSuccess
// ...
Move (i + 1) To i
Loop
// emails marked for deletion will be deleted at this time
Get ComPop3EndSession Of hoMailman To iSuccess
End_Procedure