Verwendung von Aspose.Diagram in anderen Programmiersprachen

Use Aspose.Diagram for .NET via COM Interop

Die Informationen in diesem Thema gelten für Szenarien, in denen Entwickler verwenden müssenAspose.Diagram for .NET via COM Interop in any supported language.

Arbeiten mit COM-Interop

Aspose.Diagram for .NET executes under the control of the .NET Framework and this is called managed code. The code written in all of the languages those runs outside the .NET Framework and it is called unmanaged code. Interaction between unmanaged code and Aspose.Diagram occurs via the .NET facility called COM Interop.

Aspose.Diagram objects are .NET objects, but when used via COM Interop, they appear as COM objects in your programming language. Therefore, it is best to make sure you know how to create and use COM objects in your programming language, before you start using Aspose.Diagram for .NET.

  • In der COM-Welt unterscheiden wir COM-Server und COM-Client. Der COM-Server speichert COM-Klassen, während der COM-Client den COM-Server nach Klasseninstanzen, dh COM-Objekten, fragt.
  • Der COM-Client oder einfach die Client-Anwendung kann etwas über den Inhalt der COM-Klasse wissen oder sich seiner Methoden und Eigenschaften überhaupt nicht bewusst sein. Daher kann die Clientanwendung die COM-Klassenstruktur beim Kompilieren/Erstellen oder nur während der Ausführung erkennen. Der Prozess der “Entdeckung” ist als Bindung bekannt, und das haben wir auchfrühe Bindung undspäte Bindung.
  • Kurz gesagt, die COM-Klasse ist wie eine Blackbox, und um mit ihr zu arbeiten, wird eine Typbibliothek benötigt. Diese Binärdatei enthält eine Beschreibung der COM-Klassenmethoden, Eigenschaften und jede Hochsprache, die das Arbeiten mit COM-Objekten unterstützt. Oft hat sie einen Syntaxausdruck zum Hinzufügen einer Typbibliothek, z Beispiel ist dies#importieren unter C++.
  • Typbibliothek wird für die frühe Bindung verwendet.
  • Ein COM-Objekt kann seine Methoden und Eigenschaften auf zwei Arten offenlegen: durch aVersandschnittstelle (dispatchinterface) und in seinervtable (virtuelle Funktionstabelle).
  • innerhalb derVerteilerschnittstelle , wird jede Methode und Eigenschaft durch ein eindeutiges Mitglied identifiziert; Dieses Mitglied ist die Dispatch-ID der Funktion (oderDispID).
  • vtable ist nur ein Satz von Zeigern auf Funktionen, die die COM-Klassenschnittstelle unterstützt.
  • Ein Objekt, das seine Methoden über beide Schnittstellen offenlegt, unterstützt aduale Schnittstelle.
  • Beide Bindungsarten haben Vorteile. Die frühe Bindung bietet Ihnen eine verbesserte Leistung und Syntaxprüfung zur Kompilierzeit. Spätes Binden ist am vorteilhaftesten, wenn Sie Kunden schreiben, die Sie beabsichtigen zu seinkompatibel mit zukünftigen Versionen Ihrer COM-Klasse. Bei der späten Bindung werden Informationen aus der Typbibliothek nicht in Ihrem Client “fest verdrahtet”, sodass Sie sich darauf verlassen können, dass Ihr Client mit zukünftigen Versionen der COM-Klasse ohne Codeänderungen arbeiten kann.
  • Der späte Bindungsmechanismus hat einen großen Vorteil: Wenn der Ersteller der COM-DLL beschließt, eine neue Version mit einem anderen Layout der Funktionsschnittstelle herauszugeben, stürzt jeglicher Code, der diese Methoden aufruft, nicht ab, es sei denn, die Methoden sind nicht mehr verfügbar; auch wenn dievtableunterscheidet sich die späte Bindung, um die neuen DISPIDs zu entdecken und geeignete Methoden aufzurufen.

Hier sind die Themen, die Sie schließlich meistern müssen:

Registrieren Sie Aspose.Diagram for .NET bei COM Interop

Sie müssen Aspose.Diagram for .NET installieren und sicherstellen, dass es bei COM Interop registriert ist (um sicherzustellen, dass es von nicht verwaltetem Code aufgerufen werden kann).

So registrieren Sie Aspose.Diagram for .NET manuell für COM Interop:

  1. Von demAnfang Menü, auswählenAlle Programme , dannMicrosoft Visual Studio, Visual Studio Tools und schlussendlich,Visual Studio Command Prompt. In einigen Betriebssystemen ist es auch unter folgendem Speicherort verfügbar: „C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\x64“
  2. Geben Sie den Befehl ein, um die Assembly zu registrieren:
  3. .NET Framework 2.0 regasm “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net2.0\Aspose.Diagram.dll” /codebase
  4. .NET Framework 3.5 regasm “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net3.5\Aspose.Diagram.dll” /codebase
  5. .NET Framework 4.0 regasm “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.dll” /codebase

ProgIDs

ProgID steht für „Programmatic Identifier“. Es ist der Name einer COM-Klasse, die zum Erstellen eines Objekts verwendet wurde. ProgIDs bestehen aus dem Bibliotheksnamen „Aspose.Diagram“ und dem Klassennamen.

Geben Sie Bibliothek ein

Wenn Ihre Programmiersprache (z. B. Visual Basic oder Delphi) den Verweis auf eine COM-Typbibliothek zulässt, fügen Sie einen Verweis auf Aspose.Diagram.tlb hinzu, um alle Aspose.Diagram for .NET Klassen, Methoden, Eigenschaften und Aufzählungen in Ihrem Objektbrowser anzuzeigen.

So generieren Sie eine TLB-Datei:

  • .NET Framework 2.0 regasm “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net2.0\Aspose.Diagram.dll” /tlb: “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net2.0\Aspose.Diagram.tlb” /codebase
  • .NET Framework 3.5 regasm “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net3.5\Aspose.Diagram.dll” /tlb: “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net3.5\Aspose.Diagram.tlb” /codebase
  • .NET Framework 4.0 regasm “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.dll” /tlb: “C:\Programme\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.tlb” /codebase

Erstellen von COM-Objekten

Die Erstellung eines COM-Objekts ähnelt der Erstellung eines normalen .NET-Objekts. Nach der Erstellung können Sie auf die Methoden und Eigenschaften des Objekts zugreifen, als wäre es ein COM-Objekt.

Einige Methoden haben Überladungen und werden von COM-Interop mit einem hinzugefügten numerischen Suffix verfügbar gemacht, mit Ausnahme der allerersten Methode, die unverändert bleibt. Beispielsweise werden die Methodenüberladungen Diagram.Save zu Diagram.Save, Diagram.Save_2 usw.

Aspose.Diagram Ressourcen

Im Folgenden finden Sie Links zu einigen nützlichen Ressourcen, die Sie möglicherweise zur Erfüllung Ihrer Aufgaben benötigen.

Erstellen einer Wrapper-Assembly

Wenn Sie viele der Aspose.Diagram for .NET Klassen, Methoden und Eigenschaften verwenden müssen, sollten Sie eine Wrapper-Assembly erstellen (mit C# oder einer anderen .NET Programmiersprache). Wrapper-Assemblys tragen dazu bei, die Verwendung von Aspose.Diagram for .NET direkt aus nicht verwaltetem Code zu vermeiden.

Ein guter Ansatz besteht darin, eine .NET-Assembly zu entwickeln, die auf Aspose.Diagram for .NET verweist und die gesamte Arbeit damit erledigt und nur einen minimalen Satz von Klassen und Methoden für nicht verwalteten Code verfügbar macht. Ihre Anwendung sollte dann nur mit Ihrer Wrapper-Bibliothek funktionieren.

Reducing the number of classes and methods that you need to invoke via COM Interop simplifies the project. Using .NET classes via COM Interop often requires advanced skills.

Erstellen Sie eine leere Visio-Zeichnung in PHP mit COM Interop

Voraussetzungen

Konfigurieren Sie Ihr PHP so, dass es mit COM funktioniert. Sehenhttp://www.php.net/manual/en/ref.com.php . Weitere Informationen finden Sie im genannten ArtikelUse Aspose.Diagram for .NET via COM Interop.

Erstellen einer leeren Visio-Zeichnung

Dies ist eine einfache Anwendung, die Ihnen zeigt, wie Sie eine leere Visio-Zeichnung mit erstellenAspose.Diagram for .NET in PHP via COM Interop.

PHP

 <?php

echo "<h3>Calling Aspose.Diagram for .NET from PHP using COM Interoperatibility</h3>";

//set license

$lic = new COM("Aspose.Diagram.License");

$lic->SetLicense("D:\ASPOSE\Licences\Aspose.Total licenses\Aspose.Total.lic");

// create a new instance of Diagram object using COM interop

$diagram = new COM("Aspose.Diagram.Diagram");

// Save the Visio drawing in the VDX format

$diagram->Save("d:\diagramtest\MyOutput.vdx", 0);

?>