Интерфейс сервера автоматизации MATLAB COM

Типы сервера COM

Существует три типа серверов COM:

  • Автоматизация — сервер, который поддерживает стандарт Автоматизации OLE. Серверы автоматизации основаны на интерфейсе IDispatch. Клиенты всех типов, включая сценарии клиентов, Серверов автоматизации доступа.

  • Пользовательский — сервер, который реализует интерфейс, непосредственно выведенный от IUnknown. MATLAB® не поддерживает пользовательские интерфейсы.

  • Двойной — сервер, который реализует комбинацию Автоматизации и Пользовательских интерфейсов.

Совместно использованные и выделенные серверы

Сервер автоматизации MATLAB имеет два режима:

  • Совместно использованный — Одно или несколько клиентских приложений соединяются с тем же сервером MATLAB. Все клиенты совместно используют сервер.

  • Выделенный — Каждое клиентское приложение создает свой собственный специализированный сервер MATLAB.

При использовании matlab.application в качестве своего ProgID, MATLAB создает разделяемый сервер. Для получения дополнительной информации смотрите Разделяемый или Выделенный сервер.

Программируемые идентификаторы

Чтобы создать экземпляр COM-объекта, вы используете его программируемый идентификатор или ProgID. ProgID является уникальной строкой, заданной поставщиком компонента, чтобы идентифицировать COM-объект. Вы получаете ProgID из своей документации поставщика.

MATLAB ProgIDs для разделяемых серверов:

  • MATLAB. Приложение — Запускает Сервер автоматизации командного окна с версии MATLAB, который последний раз использовался в качестве Сервера автоматизации (не может быть последняя установленная версия MATLAB).

  • MATLAB. Автосервер — Запускает Сервер автоматизации командного окна с помощью новой версии MATLAB.

  • MATLAB. Рабочий стол. Приложение — Запускает полный настольный MATLAB как Сервер автоматизации с помощью новой версии MATLAB.

ProgIDs для выделенных серверов:

  • MATLAB. Приложение. Единственный

  • MATLAB. Автосервер. Единственный

Они независимый от версии MATLAB ProgIDs задают в настоящее время устанавливаемую и зарегистрированную версию MATLAB.

В порядке создать экземпляр определенной установленной и зарегистрированной версии MATLAB, можно использовать зависимый версией ProgID. Например, использование ProgID Matlab.Application.7.14 создает экземпляр версии 7.14 (R2012a) MATLAB.

Незавершенные и серверы из процесса

Можно сконфигурировать сервер три пути. MATLAB поддерживает все эти настройки.

Внутрипроцессорный сервер

Внутрипроцессорный сервер является компонентом, реализованным как динамически подключаемая библиотека (DLL) или управление ActiveX®, которое запускается в том же процессе как клиентское приложение, совместно используя адресное пространство. Связь между клиент-сервером относительно быстра и проста.

Локальный сервер из процесса

Локальный сервер из процесса является компонентом, реализованным как исполняемый файл (EXE) файл, который запускается в отдельном процессе из клиентского приложения. Процессы клиент-сервера находятся на той же компьютерной системе. Эта настройка происходит медленнее из-за издержек, требуемых при передаче данных через контуры процесса.

Удаленный сервер из процесса

Это - тип сервера из процесса; однако, процессы клиент-сервера находятся в различных системах и связываются по сети. Сетевые коммуникации, в дополнение к издержкам, требуемым для передачи данных, могут сделать эту настройку медленнее, чем локальная настройка из процесса. Эта настройка запускается только в системах, которые поддерживают Объектную модель распределенных компонентов (DCOM).

Была ли эта тема полезной?