Durch weitere Nutzung der Webseite erklären Sie sich mit unseren Cookies einverstanden.
Standardbenutzeroberfläche von CADEditorX:
regsvr32 <full path to the CADEditorLib.ocx library>
Zum Beispiel, um die 64-bit Version vom CADEditorX in 64-bit Version von Windows 7 zu registrieren, führen Sie Folgendes aus:
regsvr32 "c:\Program Files\CADSoftTools\CADEditorX 11\CADEditorLib.ocx"
Hinweis: die Komponente CADEditorLib.ocx wird im System während der Installation registriert. Wenn Sie die verschiedenen Versionen vom CADEditorX testen, kann die manuelle Installation der Komponente im System benötigt werden. Erfahren Sie mehr über das Hilfsprogramm Regsvr32: https://support.microsoft.com/de-de/kb/249873
Die programmatische Interaktion mit dem CADEditorX-Control ist auf der Nutzung der ProcessXML-Funktion und dem OnProcess-Ereignis basiert.
ProcessXML-Funktion
Die ProcessXML–Funktion wird benutzt, um die XML-Instruktionen zu verarbeiten. Sie bekommt die Ausgabe-XML als Parameter, verarbeitet ihn und gibt das Ergebnis als XML zurück. Die Demoanwendung XML DIE enthält die Beispiele von den XML-Instruktionen.
Syntax:
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 ist ein Eingabe-XML-Dokument; der Rückgabewert ist ein XML-Dokument, das einige Eingabedaten enthält.
C#-Beispiel:
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; }
OnProcess-Ereignis
Das OnProcess-Ereignis wird in den folgenden Fällen aktiviert:
Dadurch ist das OnProcess-Ereignis zur Verarbeitung der als XML zurückgegebenen Daten bequem.
Syntax:
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 ist ein Control, der die Daten stellt; AXML ist ein XML-Dokument, das die Ausgabedaten enthält.
C#-Beispiel:
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 }
Um die komplizierten Aufgaben mit Hilfe der CAD XML API zu implementieren, empfiehlt man, einen XML-Parser zu benutzen, der die Ausgabe-XML verarbeitet. Es gibt eine große Anzahl der XML-Parsers für alle populären Programmiersprachen. Microsoft Windows bietet die DOM-Technologie zur XML-Verarbeitung an. Diese Technologie ist recht stark aber sie ist ziemlich langsam. Außerdem gibt es viele einfache und schnelle XML-Parsers, die als OpenSource für die verschiedenen Programmiersprachen angeboten werden.