Sample code for 30+ languages & platforms
Delphi DLL

Transition from MailMan.LoadXmlEmail to Email.SetFromXmlText

Provides instructions for replacing deprecated LoadXmlEmail method calls with Email.SetFromXmlText.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MailMan, StringBuilder, Email;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
mailman: HCkMailMan;
xmlFilePath: PWideChar;
emailObj: HCkEmail;
sb: HCkStringBuilder;
email: HCkEmail;

begin
success := False;

mailman := CkMailMan_Create();

// ...
// ...

xmlFilePath := 'c:/test/example.xml';

// ------------------------------------------------------------------------
// The LoadXmlEmail method is deprecated:

emailObj := CkMailMan_LoadXmlEmail(mailman,xmlFilePath);
if (CkMailMan_getLastMethodSuccess(mailman) = False) then
  begin
    Memo1.Lines.Add(CkMailMan__lastErrorText(mailman));
    Exit;
  end;

// ...
// ...

CkEmail_Dispose(emailObj);

// ------------------------------------------------------------------------
// Do the equivalent using Email.SetFromXmlText.

sb := CkStringBuilder_Create();
success := CkStringBuilder_LoadFile(sb,xmlFilePath,'utf-8');
if (success = False) then
  begin
    Memo1.Lines.Add(CkStringBuilder__lastErrorText(sb));
    Exit;
  end;

email := CkEmail_Create();
success := CkEmail_SetFromXmlText(email,CkStringBuilder__getAsString(sb));
if (success = False) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

CkMailMan_Dispose(mailman);
CkStringBuilder_Dispose(sb);
CkEmail_Dispose(email);

end;