Использование Aspose.Diagram на других языках программирования

Используйте Aspose.Diagram for .NET via COM-взаимодействие

Информация в этом разделе относится к сценариям, в которых разработчикам требуется использоватьAspose.Diagram for .NET via COM-взаимодействие на любом поддерживаемом языке.

Работа с COM-взаимодействием

Aspose.Diagram for .NET выполняется под управлением .NET Framework, и это называется управляемым кодом. Код, написанный на всех языках, работающих за пределами .NET Framework, называется неуправляемым кодом. Взаимодействие между неуправляемым кодом и Aspose.Diagram происходит via средством .NET, называемым COM-взаимодействием.

Объекты Aspose.Diagram — это объекты .NET, но при использовании via COM-взаимодействия они отображаются как COM-объекты в вашем языке программирования. Поэтому лучше всего убедиться, что вы знаете, как создавать и использовать COM-объекты в вашем языке программирования, прежде чем вы начнете использоватьAspose.Diagram for .NET.

  • В мире COM мы различаем COM-сервер и COM-клиент. COM-сервер хранит COM-классы, а COM-клиент запрашивает у COM-сервера экземпляры классов, то есть COM-объекты.
  • COM-клиент или просто клиентское приложение может что-то знать о содержимом COM-класса или вообще не знать о его методах и свойствах. Поэтому клиентское приложение может обнаружить структуру класса COM при компиляции/сборке или только во время выполнения. Процесс «открытия» известен как связывание, поэтому мы имеемраннее связывание а такжепозднее связывание.
  • вкратце COM-класс подобен черному ящику и для работы с ним нужна библиотека типов, в этом бинарном файле есть описание методов, свойств класса COM и любой язык высокого уровня, который поддерживает работу с COM-объектами, часто имеет синтаксическое выражение для добавления библиотеки типов, для пример это#импорт в C++.
  • библиотека типов используется для раннего связывания.
  • COM-объект может раскрывать свои методы и свойства двумя способами: с помощьюдиспетчерский интерфейс (dispinterface) и в еговиртуальная таблица (виртуальная таблица функций).
  • внутридисп-интерфейс , каждый метод и свойство идентифицируются уникальным членом; этот член является идентификатором отправки функции (илиDispID).
  • виртуальная таблица это всего лишь набор указателей на функции, поддерживаемые интерфейсом COM-класса.
  • объект, который предоставляет свои методы через оба интерфейса, поддерживаетдвойной интерфейс.
  • преимущества есть у обоих типов переплета. Раннее связывание обеспечивает повышенную производительность и проверку синтаксиса во время компиляции. Позднее связывание наиболее выгодно, когда вы пишете клиентов, которые вы собираетесь использовать.совместим с будущими версиями вашего COM-класса. При позднем связывании информация из библиотеки типов не “зашита” в ваш клиент, поэтому вы можете быть более уверены, что ваш клиент сможет работать с будущими версиями класса COM без изменения кода.
  • Механизм позднего связывания имеет большое преимущество: если создатель COM-DLL решит выпустить новую версию с другим макетом интерфейса функций, любой код, вызывающий эти методы, не рухнет, если только эти методы больше не будут доступны; даже есливиртуальная таблицаотличается тем, что позднему связыванию удается обнаружить новые DISPID и вызвать соответствующие методы.

Вот темы, которые вам в конечном итоге нужно будет освоить:

Зарегистрируйте Aspose.Diagram for .NET с COM-взаимодействием

Вам необходимо установить Aspose.Diagram for .NET и убедиться, что он зарегистрирован в COM-взаимодействии (чтобы его можно было вызывать из неуправляемого кода).

Чтобы зарегистрировать Aspose.Diagram for .NET для COM-взаимодействия вручную:

  1. ОтНачинать меню, выберитеВсе программы , тогдаMicrosoft Visual Studio, Visual Studio Инструменты и наконец,Visual Studio Командная строка. В некоторых операционных системах он также доступен по адресу: “C:\Program Files (x86)\Microsoft SDK\Windows\v7.0A\bin\x64”
  2. Введите команду для регистрации сборки:
  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 означает «программный идентификатор». Это имя класса COM, который используется для создания объекта. Идентификаторы ProgID состоят из имени библиотеки “Aspose.Diagram” и имени класса.

Библиотека типов

Если ваш язык программирования (например, Visual Basic или Delphi) позволяет ссылаться на библиотеку типов COM, добавьте ссылку на Aspose.Diagram.tlb и просмотрите все Aspose.Diagram for .NET классы, методы, свойства и перечисления в обозревателе объектов.

Чтобы создать файл TLB:

  • .NET Framework 2.0 regasm “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net2.0\Aspose.Diagram.dll” /tlb: “C:\Program Files\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:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.dll” /tlb: “C:\Program Files\Aspose\Aspose.Diagram for .NET\bin\net4.0\Aspose.Diagram.tlb” /codebase

Создание COM-объектов

Создание COM-объекта аналогично созданию обычного объекта .NET. После создания вы можете получить доступ к методам и свойствам объекта, как если бы это был COM-объект.

Некоторые методы имеют перегруженные версии, и COM-взаимодействие будет отображать их с добавленным к ним числовым суффиксом, за исключением самого первого метода, который остается неизменным. Например, перегрузки метода Diagram.Save становятся Diagram.Save, Diagram.Save_2 и т. д.

Aspose.Diagram Ресурсы

Ниже приведены ссылки на некоторые полезные ресурсы, которые могут вам понадобиться для выполнения ваших задач.

Создание сборки-оболочки

Если вам нужно использовать многие из Aspose.Diagram for .NET классов, методов и свойств, рассмотрите возможность создания сборки-оболочки (используя C# или любой другой язык программирования .NET). Сборки-оболочки помогают избежать использования Aspose.Diagram for .NET непосредственно из неуправляемого кода.

Хорошим подходом является разработка сборки .NET, которая ссылается на Aspose.Diagram for .NET и выполняет всю работу с ним, предоставляя неуправляемому коду только минимальный набор классов и методов. Тогда ваше приложение должно работать только с вашей библиотекой-оболочкой.

Сокращение количества классов и методов, которые необходимо вызывать via COM-взаимодействие, упрощает проект. Использование .NET классов via COM-взаимодействия часто требует дополнительных навыков.

Создайте пустой чертеж Visio в PHP с помощью COM Interop

Предпосылки

Настройте свой PHP для работы с COM. Видетьhttp://www.php.net/manual/en/ref.com.php . Для получения дополнительной информации, пожалуйста, ознакомьтесь со статьей под названиемИспользуйте Aspose.Diagram for .NET via COM-взаимодействие.

Создание пустого чертежа Visio

Это простое приложение показывает, как создать пустой чертеж Visio, используяAspose.Diagram for .NET в PHP via COM-взаимодействие.

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);

?>