Connect to XML from your programming language

<< Click to Display Table of Contents >>

Navigation:  Concepts >

Connect to XML from your programming language

XML API is universal. It can be used in different ways to carry out data exchange.

Dynamic Data Exchange (DDE) is the protocol that allows exchanging data between applications. The DDE is supported by ABViewer. So integration of DDE support into a custom-developed application (app) will allow to interact with ABViewer. The following steps are required to carry out the DDE interaction with ABViewer:

1. ABViewer must be specified as a DDE client. The service and topic parameters for the client must be specified as "abviewer".

2. The connection must be established between the server (app) and the client (ABViewer)

3. The command execution by the client. ABViewer will automatically initialize the feedback connection (ABViewer server -> app client) when it is necessary. So the app name as parameter ("appsender=app_name") must be provided within the command body.

Exchange data with COM (CADEditorX, CADViewX) objects is based on the use of a single function and a single event.

The ProcessXML function is used for processing of instructions. To process XML instructions call the ProcessXML method and input the XML document that contains XML data as a parameter.


function ProcessXML(const AInput: WideString): WideString

public string ProcessXML(string AInput)


Public Function ProcessXML(aInput As String) As String

BSTR ProcessXML(BSTR AInput)

public function ProcessXML(AInput : String) : String



The input XML API document

Return value

XML document that contains some output data.

The OnProcess event fires when the ProcessXML function has handled the provided instruction. This makes the event useful for parsing of the returned XML data.

Syntax (CADEditorX):

property OnProcess = procedure(ASender: TObject; const AXML: WideString) of object

public event AxCADEditorLib.ISgCADEditorEvents_OnProcessEventHandler OnProcess

public delegate void ISgCADEditorEvents_OnProcessEventHandler(object ASender, AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent e)


Public Event OnProcess(ByVal aSender As Object, ByVal e As AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent)

public IDispEventSimpleImpl<1, CCADEditorXEvents, &__uuidof(CADEditorLib::ISgCADEditorEvents)>

public event OnProcess(ASender : Object, AXML: String)



Control providing the data


The XML document containing the output data

Go to CADEditorX