Sample code for 30+ languages & platforms
PureBasic

Transition from MailMan.LoadXmlEmail to Email.SetFromXmlText

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

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkEmail.pb"
IncludeFile "CkMailMan.pb"

Procedure ChilkatExample()

    success.i = 0

    mailman.i = CkMailMan::ckCreate()
    If mailman.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    xmlFilePath.s = "c:/test/example.xml"

    ; ------------------------------------------------------------------------
    ; The LoadXmlEmail method is deprecated:

    emailObj.i = CkMailMan::ckLoadXmlEmail(mailman,xmlFilePath)
    If CkMailMan::ckLastMethodSuccess(mailman) = 0
        Debug CkMailMan::ckLastErrorText(mailman)
        CkMailMan::ckDispose(mailman)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkEmail::ckDispose(emailObj)

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

    sb.i = CkStringBuilder::ckCreate()
    If sb.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkStringBuilder::ckLoadFile(sb,xmlFilePath,"utf-8")
    If success = 0
        Debug CkStringBuilder::ckLastErrorText(sb)
        CkMailMan::ckDispose(mailman)
        CkStringBuilder::ckDispose(sb)
        ProcedureReturn
    EndIf

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkEmail::ckSetFromXmlText(email,CkStringBuilder::ckGetAsString(sb))
    If success = 0
        Debug CkEmail::ckLastErrorText(email)
        CkMailMan::ckDispose(mailman)
        CkStringBuilder::ckDispose(sb)
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf



    CkMailMan::ckDispose(mailman)
    CkStringBuilder::ckDispose(sb)
    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure