exponenta event banner

Поддерживаемые конфигурации клиента/сервера

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) Microsoft. Как правило, для работы с MATLAB объект COM должен содержаться в окне хоста ATL.

Клиентское приложение и сервер автоматизации 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.

Примечание

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

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

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

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

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

Функции API MATLAB Engine используются для запуска и завершения серверного процесса, а также для отправки команд, обрабатываемых MATLAB.