Utilizzo di Aspose.Diagram in altri linguaggi di programmazione

Use Aspose.Diagram for .NET via COM Interop

Le informazioni in questo argomento si applicano agli scenari in cui gli sviluppatori richiedono l’utilizzoAspose.Diagram for .NET via COM Interop in any supported language.

Utilizzo dell’interoperabilità COM

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.

  • Nel mondo COM distinguiamo server COM e client COM. Il server COM ha memorizzato le classi COM mentre il client COM richiede al server COM le istanze delle classi, ovvero gli oggetti COM.
  • Il client COM o semplicemente l’applicazione client può conoscere qualcosa del contenuto della classe COM o essere totalmente all’oscuro dei suoi metodi e proprietà. Pertanto l’applicazione client può rilevare la struttura della classe COM durante la compilazione/costruzione o solo durante l’esecuzione. Il processo di “scoperta” è noto come vincolante e così abbiamolegame anticipato erilegatura tardiva.
  • in breve la classe COM è come una scatola nera e per lavorare con essa è necessaria la libreria dei tipi, questo file binario ha una descrizione dei metodi della classe COM, proprietà e qualsiasi linguaggio di alto livello che supporta il lavoro con gli oggetti COM spesso ha un’espressione di sintassi per l’aggiunta della libreria dei tipi, per esempio questo è#importare allo C++.
  • la libreria dei tipi viene utilizzata per l’associazione anticipata.
  • un oggetto COM può esporre i suoi metodi e le sue proprietà in due modi: tramite ainterfaccia di spedizione (dispinterface) e nella suavtable (tabella delle funzioni virtuali).
  • all’interno deldispatch , ogni metodo e proprietà è identificato da un membro univoco; questo membro è l’identificatore di invio della funzione (oDispID).
  • vtable è solo un insieme di puntatori a funzioni supportate dall’interfaccia della classe COM.
  • un oggetto che espone i propri metodi tramite entrambe le interfacce supporta adoppia interfaccia.
  • ci sono vantaggi per entrambi i tipi di rilegatura. L’associazione anticipata offre migliori prestazioni e controllo della sintassi in fase di compilazione. L’associazione tardiva è più vantaggiosa quando scrivi ai clienti che intendi esserecompatibile con le versioni future della tua classe COM. Con l’associazione tardiva, le informazioni della libreria dei tipi non sono “cablate” nel client, quindi puoi essere più sicuro che il tuo client possa lavorare con le versioni future della classe COM senza modifiche al codice.
  • il meccanismo di associazione tardiva ha un grande vantaggio: se il creatore della DLL COM decide di rilasciare una nuova versione, con un diverso layout dell’interfaccia delle funzioni, qualsiasi codice che chiama quei metodi non andrà in crash a meno che i metodi non siano più disponibili; anche se ilvtableè diverso il late binding riesce a scoprire i nuovi DISPID ea chiamare i metodi appropriati.

Ecco gli argomenti che alla fine dovrai padroneggiare:

Registrati Aspose.Diagram for .NET con COM Interop

È necessario installare Aspose.Diagram for .NET e assicurarsi che sia registrato con COM Interop (assicurandosi che possa essere chiamato da codice non gestito).

Per registrare manualmente Aspose.Diagram for .NET per l’interoperabilità COM:

  1. DalInizio menù, selezionareTutti i programmi , poiMicrosoft Visual Studio, Visual Studio Tools e infine,Visual Studio Command Prompt. In alcuni sistemi operativi, è disponibile anche nel percorso: “C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\x64”
  2. Immettere il comando per registrare l’assieme:
  3. .NET Framework 2.0 regasm “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net2.0\Aspose.Diagram.dll” /codebase
  4. .NET Framework 3.5 regasm “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net3.5\Aspose.Diagram.dll” /codebase
  5. .NET Framework 4.0 regasm “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.dll” /codebase

ProgID

ProgID sta per “identificatore programmatico”. È il nome di una classe COM utilizzata per creare un oggetto. I ProgID sono costituiti dal nome della libreria “Aspose.Diagram” e dal nome della classe.

Libreria dei tipi

Se il tuo linguaggio di programmazione (ad esempio Visual Basic o Delphi) ti consente di fare riferimento a una libreria dei tipi COM, aggiungi un riferimento a Aspose.Diagram.tlb e visualizza tutte le classi, i metodi, le proprietà e le enumerazioni Aspose.Diagram for .NET nel tuo browser oggetti.

Per generare un file TLB:

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

Creazione di oggetti COM

La creazione di un oggetto COM è simile alla creazione di un normale oggetto .NET. Una volta creato, puoi accedere ai metodi e alle proprietà dell’oggetto, come se fosse un oggetto COM.

Alcuni metodi dispongono di overload e verranno esposti dall’interoperabilità COM con l’aggiunta di un suffisso numerico, ad eccezione del primo metodo che rimane invariato. Ad esempio, gli overload del metodo Diagram.Save diventano Diagram.Save, Diagram.Save_2 e così via.

Aspose.Diagram Risorse

Di seguito sono riportati i collegamenti ad alcune risorse utili di cui potresti aver bisogno per svolgere le tue attività.

Creazione di un assieme wrapper

Se è necessario utilizzare molte classi, metodi e proprietà Aspose.Diagram for .NET, prendere in considerazione la creazione di un assembly wrapper (utilizzando C# o qualsiasi altro linguaggio di programmazione .NET). Gli assembly wrapper consentono di evitare l’uso di Aspose.Diagram for .NET direttamente dal codice non gestito.

Un buon approccio consiste nello sviluppare un assembly .NET che fa riferimento a Aspose.Diagram for .NET e fa tutto il lavoro con esso ed espone solo un set minimo di classi e metodi al codice non gestito. La tua applicazione quindi dovrebbe funzionare solo con la tua libreria wrapper.

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.

Crea un disegno vuoto Visio in PHP utilizzando l’interoperabilità COM

Prerequisiti

Configura il tuo PHP per lavorare con COM. Vederehttp://www.php.net/manual/en/ref.com.php . Per ulteriori informazioni, consultare l’articolo denominatoUse Aspose.Diagram for .NET via COM Interop.

Creazione di un disegno vuoto Visio

Questa è una semplice applicazione che mostra come creare un disegno Visio vuoto utilizzandoAspose.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);

?>