Delphi ActiveX
Delphi ActiveX
Transition from Imap.ThreadCmd to Imap.QueryThread
Provides instructions for replacing deprecated ThreadCmd method calls with QueryThread.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;
imap: TChilkatImap;
threadAlg: WideString;
charset: WideString;
searchCriteria: WideString;
bUid: Integer;
jsonObj: IChilkatJsonObject;
json: TChilkatJsonObject;
begin
success := 0;
imap := TChilkatImap.Create(Self);
// ...
// ...
threadAlg := 'REFERENCES';
charset := 'UTF-8';
searchCriteria := 'SUBJECT a';
bUid := 1;
// ------------------------------------------------------------------------
// The ThreadCmd method is deprecated:
jsonObj := imap.ThreadCmd(threadAlg,charset,searchCriteria,bUid);
if (imap.LastMethodSuccess = 0) then
begin
Memo1.Lines.Add(imap.LastErrorText);
Exit;
end;
// ...
// ...
// ------------------------------------------------------------------------
// Do the equivalent using QueryThread.
// Your application creates a new, empty JsonObject object which is passed
// in the last argument and filled upon success.
imap.SearchCharset := 'UTF-8';
json := TChilkatJsonObject.Create(Self);
success := imap.QueryThread(threadAlg,searchCriteria,bUid,json.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(imap.LastErrorText);
Exit;
end;
end;