Delphi ActiveX
Delphi ActiveX
Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd
Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
mailman: TChilkatMailMan;
saUidls: TCkStringArray;
stUidls: TChilkatStringTable;
sa: ICkStringArray;
bdMime: TChilkatBinData;
numUidls: Integer;
i: Integer;
begin
success := 0;
mailman := TChilkatMailMan.Create(Self);
// ...
// ...
saUidls := TCkStringArray.Create(Self);
saUidls.Append('aaa');
saUidls.Append('bbb');
saUidls.Append('ccc');
stUidls := TChilkatStringTable.Create(Self);
stUidls.Append('aaa');
stUidls.Append('bbb');
stUidls.Append('ccc');
// ------------------------------------------------------------------------
// The TransferMultipleMime method is deprecated:
sa := mailman.TransferMultipleMime(saUidls.ControlInterface);
if (mailman.LastMethodSuccess = 0) then
begin
Memo1.Lines.Add(mailman.LastErrorText);
Exit;
end;
// ...
// ...
// ------------------------------------------------------------------------
// Do the equivalent using FetchMimeBd.
mailman.ImmediateDelete := 0;
success := 0;
bdMime := TChilkatBinData.Create(Self);
numUidls := stUidls.Count;
i := 0;
while i < numUidls do
begin
success := mailman.FetchMimeBd(stUidls.StringAt(i),bdMime.ControlInterface);
// ...
// Mark the email for deletion.
success := mailman.DeleteByUidl(stUidls.StringAt(i));
// ...
i := i + 1;
end;
// emails marked for deletion will be deleted at this time
success := mailman.Pop3EndSession();
end;