En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies.
L’interface standard de CADEditorX :
regsvr32 <full path to the CADEditorLib.ocx library>
Par exemple, pour enregistrer la version 64-bits de CADEditorX sous Windows 7 64-bits il faut exécuter :
regsvr32 "c:\Program Files\CADSoftTools\CADEditorX 11\CADEditorLib.ocx"
Notez bien : le composant CADEditorLib.ocx est enregistré dans le système lors l’installation. Si on teste les versions de CADEditorX différentes, on peut avoir besoin d’enregistrer manuellement le composant dans le système. Vous trouverez plus d’informations sur l’utilitaire Regsvr32 sous https://support.microsoft.com/fr-fr/kb/249873
L’interaction de programmation avec l’élément de contrôle CADEditorX est basée sur l’utilisation de la fonction ProcessXML et l’évenement OnProcess.
Fonction ProcessXML
La fonction ProcessXML est utilisée pour procéder les instructions XML. Elle reçoit XML entré comme un paramètre, puis elle le procède et retourne XML comme résultat. L’application de démonstration XML IDE inclut des exemples d’instructions XML.
Syntaxe:
Delphi function ProcessXML(const AInput: WideString): WideString C# public string ProcessXML(string AInput) VB.NET Public Function ProcessXML(aInput As String) As String C++ BSTR ProcessXML(BSTR AInput) JScript public function ProcessXML(AInput : String) : String
AInput est un document XML entré; la valeur renvoyée est un document XML qui contient des données d’entrée.
Exemple C# :
private void button1_Click(object sender, EventArgs e) { string command ="<?xml version =\"1.0\" encoding=\"utf-8\"?><cadsofttools version =\"2\">" + "<command text =\"HideAllInterface\"/>" + "</cadsofttools>"; Process(command); } private void Process(string arg) { string result = axSgCADEditor1.ProcessXML(arg); label1.Text = result; }
Evénement OnProcess
L’événement OnProcess est activé en cas suivants :
Cela fait l’événement OnProcess pratique pour procéder des données renvoyées comme XML.
Syntaxe:
Delphi property OnProcess = procedure(ASender: TObject; const AXML: WideString) of object C# public event AxCADEditorLib.ISgCADEditorEvents_OnProcessEventHandler OnProcess public delegate void ISgCADEditorEvents_OnProcessEventHandler(object ASender,AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent e) VB.NET Public Event OnProcess(ByVal aSender As Object, ByVal e As AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent) C++ public IDispEventSimpleImpl<1, CCADEditorXEvents, &__uuidof(CADEditorLib::ISgCADEditorEvents)> JScript public event OnProcess(ASender : Object, AXML: String)
ASender est un contrôle qui fournit des données; AXML est un document XML qui contient des données de sortie.
Exemple C# :
public Form1() { InitializeComponent(); axSgCADEditor1.OnProcess += new AxCADEditorLib.ISgCADEditorEvents_OnProcessEventHandler(axSgCADEditor1_OnProcess); } private void axSgCADEditor1_OnProcess(object sender, AxCADEditorLib.ISgCADEditorEvents_OnProcessEvent e) { label2.Text = e.aXML; } private void button2_Click(object sender, EventArgs e) { string sMouseDown = "<?xml version =\"1.0\" encoding=\"UTF-8\"?><cadsofttools version =\"2\">" + "<signtoevent Event =\"OnMouseDown\" Enabled =\"True\"/>" + "</cadsofttools>"; Process(sMouseDown); // The OnMouseDown event is an internal CADEditorX event }
Pour réaliser des tâches compliquées avec API XML de CAO on peut recommander d’utiliser un analyseur XML pour traiter le XML de sortie. Il y a beaucoup d’analyseurs XML compatibles avec des langages de programmation populaires. Microsoft Windows offre la technologie DOM pour traiter XML ; cette technologie est assez puissante, mais un peu lente. En plus, il y a beaucoup d’analyseurs XML simples et vites, qui sont disponibles en OpenSource pour des langages de programmation différentes.