Sample code for 30+ languages & platforms
Delphi ActiveX

Transition from Imap.Sort to Imap.QueryMbx

Provides instructions for replacing deprecated Sort method calls with QueryMbx.

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;
searchCriteria: WideString;
bUid: Integer;
sortCriteria: WideString;
msgSetObj: IMessageSet;
mset: TMessageSet;

begin
success := 0;

imap := TChilkatImap.Create(Self);

// ...
// ...

searchCriteria := 'FROM bob@example.com';
bUid := 1;
sortCriteria := 'DATE SUBJECT';

// ------------------------------------------------------------------------
// The Sort method is deprecated:

msgSetObj := imap.Sort(sortCriteria,'UTF-8',searchCriteria,bUid);
if (imap.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(imap.LastErrorText);
    Exit;
  end;

// ...
// ...

// ------------------------------------------------------------------------
// Do the equivalent using QueryMbx.
// Your application creates a new, empty MessageSet object which is passed 
// in the last argument and filled upon success.

// The following properties are used instead of function arguments.
imap.SortCriteria := 'DATE SUBJECT';
imap.SearchCharset := 'UTF-8';

mset := TMessageSet.Create(Self);
success := imap.QueryMbx(searchCriteria,bUid,mset.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(imap.LastErrorText);
    Exit;
  end;
end;