Delphi DLL Requires Chilkat v11.0.0+
Delphi DLL
Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd
Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.Chilkat Delphi DLL Downloads
var
success: Boolean;
mailman: HCkMailMan;
saUidls: HCkStringArray;
stUidls: HCkStringTable;
sa: HCkStringArray;
bdMime: HCkBinData;
numUidls: Integer;
i: Integer;
begin
success := False;
mailman := CkMailMan_Create();
// ...
// ...
saUidls := CkStringArray_Create();
CkStringArray_Append(saUidls,'aaa');
CkStringArray_Append(saUidls,'bbb');
CkStringArray_Append(saUidls,'ccc');
stUidls := CkStringTable_Create();
CkStringTable_Append(stUidls,'aaa');
CkStringTable_Append(stUidls,'bbb');
CkStringTable_Append(stUidls,'ccc');
// ------------------------------------------------------------------------
// The TransferMultipleMime method is deprecated:
sa := CkMailMan_TransferMultipleMime(mailman,saUidls);
if (CkMailMan_getLastMethodSuccess(mailman) = False) then
begin
Memo1.Lines.Add(CkMailMan__lastErrorText(mailman));
Exit;
end;
// ...
// ...
CkStringArray_Dispose(sa);
// ------------------------------------------------------------------------
// Do the equivalent using FetchMimeBd.
CkMailMan_putImmediateDelete(mailman,False);
success := False;
bdMime := CkBinData_Create();
numUidls := CkStringTable_getCount(stUidls);
i := 0;
while i < numUidls do
begin
success := CkMailMan_FetchMimeBd(mailman,CkStringTable__stringAt(stUidls,i),bdMime);
// ...
// Mark the email for deletion.
success := CkMailMan_DeleteByUidl(mailman,CkStringTable__stringAt(stUidls,i));
// ...
i := i + 1;
end;
// emails marked for deletion will be deleted at this time
success := CkMailMan_Pop3EndSession(mailman);
CkMailMan_Dispose(mailman);
CkStringArray_Dispose(saUidls);
CkStringTable_Dispose(stUidls);
CkBinData_Dispose(bdMime);