Поддерживаемые строения клиента/сервера

Можно сконфигурировать MATLAB® для управления или управления другими COM- компонентов. Когда MATLAB управляет другим компонентом, MATLAB является клиентом, а другой компонент - сервером. Когда другой компонент управляет MATLAB, MATLAB является сервером.

Клиент MATLAB и внутрипроцессный сервер

Следующая схема показывает, как клиент MATLAB взаимодействует с процессным сервером.

Сервер предоставляет свои свойства и методы через интерфейс IDispatch (Automation) или Пользовательский интерфейс, в зависимости от того, какие интерфейсы реализует компонент. Для получения информации о доступе к интерфейсам см. раздел «Интерфейсы COM-объектов».

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

Дополнительные сведения о работе с MATLAB в качестве клиента см. в разделе Создание COM-объектов.

Клиент MATLAB и непроцессный сервер

В этом строении клиентское приложение MATLAB взаимодействует с компонентом, который был реализован как локальный непроцессный сервер. Примерами непроцессных серверов являются Microsoft® Excel® и программы Microsoft Word.

Как и в случае с процессорными серверами, этот сервер предоставляет свои свойства и методы через интерфейс IDispatch (Automation) или Пользовательский интерфейс, в зависимости от того, какие интерфейсы реализует компонент. Для получения информации о доступе к интерфейсам см. раздел «Интерфейсы COM-объектов».

Поскольку клиент и сервер выполняются в отдельных процессах, у вас есть опция создать сервер в любой системе в той же сети, что и клиент.

Если компонент обеспечивает пользовательский интерфейс, то его окно отделено от клиентского приложения.

Дополнительные сведения о работе с MATLAB в качестве клиента см. в разделе Создание COM-объектов.

Реализации COM, поддерживаемые MATLAB

MATLAB поддерживает только реализации COM, совместимые с API библиотеки активных шаблонов (ATL). В целом ваш COM-объект должна содержаться в окне хоста ATL для работы с MATLAB.

Клиентское приложение и сервер автоматизации MATLAB

MATLAB работает как сервер автоматизации в этом строении. Он может создаваться и управляться любой Microsoft Windows® программа, которая может быть контроллером автоматизации. Некоторые примеры контроллеров автоматизации: Microsoft Excel, Microsoft Access™, Microsoft Project и многие Microsoft Visual Basic® и Microsoft Visual C++® программ.

Возможности сервера MATLAB Automation включают возможность выполнения команд в рабочем пространстве MATLAB, а также получение и размещение матриц непосредственно из рабочей области и в ней. Можно запустить сервер MATLAB для запуска в общем или выделенном режиме. У вас также есть опция запустить его в локальной или удаленной системе.

Чтобы создать сервер MATLAB из внешней прикладной программы, используйте соответствующую функцию с этого языка для создания экземпляров сервера. (Например, используйте Visual Basic CreateObject функцию.) Для программного идентификатора задайте matlab.application. Чтобы запустить MATLAB как выделенный сервер, используйте matlab.application.single программный идентификатор. Для получения дополнительной информации см. раздел «Общие и выделенные серверы».

Функция, которая создает сервер MATLAB, также возвращает указатель на свойства и методы, доступные на сервере через интерфейс IDispatch.

Примечание

Поскольку клиентским программам VBScript требуется интерфейс автоматизации для связи с серверами, это единственное строение, которая поддерживает клиент VBScript.

Для получения дополнительной информации

Дополнительные сведения о работе с серверами автоматизации см. в разделе Интерфейс сервера автоматизации MATLAB COM.

Клиентское приложение и сервер MATLAB Engine

MATLAB обеспечивает более быстрый пользовательский интерфейс IEngine для клиентских приложений, написанных на C, C++ или Фортран. MATLAB использует IEngine для связи между клиентским приложением и движком MATLAB, работающим как COM-сервер.

Используйте функции MATLAB Engine API для начала и конца серверного процесса и для отправки команд, которые будут обработаны MATLAB.