Sample code for 30+ languages & platforms
Delphi ActiveX

Transition from Imap.FetchBundleAsMime to Imap.FetchSingleBd

Provides instructions for replacing deprecated FetchBundleAsMime method calls with FetchSingleBd.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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;
imap: TChilkatImap;
mset: TMessageSet;
saObj: ICkStringArray;
bdMime: TChilkatBinData;
bUid: Integer;
numEmails: Integer;
i: Integer;

begin
success := 0;

imap := TChilkatImap.Create(Self);

// ...
// ...

mset := TMessageSet.Create(Self);
success := imap.QueryMbx('FROM joe@example.com',1,mset.ControlInterface);
// ...
// ...

// ------------------------------------------------------------------------
// The FetchBundleAsMime method is deprecated:

saObj := imap.FetchBundleAsMime(mset.ControlInterface);
if (imap.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(imap.LastErrorText);
    Exit;
  end;

// ...
// ...

// ------------------------------------------------------------------------
// Do the equivalent using FetchSingleBd.

imap.AutoDownloadAttachments := 1;

bdMime := TChilkatBinData.Create(Self);
bUid := mset.HasUids;
numEmails := mset.Count;
i := 0;
while i < numEmails do
  begin
    success := imap.FetchSingleBd(mset.GetId(i),bUid,bdMime.ControlInterface);
    // ...
    // ...

    i := i + 1;
  end;
end;