Можно сконфигурировать MATLAB®, чтобы или управлять или управляться другими COM-компонентами. Когда MATLAB управляет другим компонентом, MATLAB является клиентом, и другой компонент является сервером. Когда другой компонент управляет MATLAB, MATLAB является сервером.
Следующая схема показывает, как клиент MATLAB взаимодействует с Внутрипроцессорным сервером.
Сервер отсоединяет свои свойства и методы через интерфейс IDispatch (Automation) или интерфейс Custom, в зависимости от которых интерфейсов компонент реализует. Для получения информации о доступе к интерфейсам см. интерфейсы COM-объектов.
Любой COM-компонент, который был реализован как динамически подключаемая библиотека (DLL), также инстанцируют во внутрипроцессорном сервере. Таким образом, это создается в том же процессе как клиентское приложение MATLAB. Когда MATLAB использует сервер DLL, он запускается в отдельном окне, а не окне фигуры MATLAB.
Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.
В этой настройке клиентское приложение MATLAB взаимодействует с компонентом, который был реализован как Локальный Сервер Из процесса. Примерами серверов из процесса являются программы Microsoft Word и Microsoft® Excel®.
Как с внутрипроцессорными серверами, этот сервер отсоединяет свои свойства и методы через интерфейс IDispatch (Automation) или интерфейс Custom, в зависимости от которых интерфейсов компонент реализует. Для получения информации о доступе к интерфейсам см. интерфейсы COM-объектов.
Начиная с клиент-сервера, запущенного в отдельных процессах, у вас есть опция создания сервера в любой системе в той же сети как клиент.
Если компонент обеспечивает пользовательский интерфейс, его окно является отдельным от клиентского приложения.
Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.
MATLAB только поддерживает реализации COM, которые совместимы с Microsoft Active Template Library (ATL) API. В общем случае ваш COM-объект должен смочь содержаться в окне хоста ATL, чтобы работать с MATLAB.
MATLAB действует в качестве Сервера автоматизации в этой настройке. Это может создать и управлять любая программа Microsoft Windows®, которая может быть контроллером Автоматизации. Некоторыми примерами контроллеров Автоматизации является Microsoft Excel, Microsoft Access™, Microsoft Project и многие программы Microsoft Visual C ++® и Microsoft Visual Basic®.
Возможности Сервера автоматизации MATLAB включают способность выполнить команды в рабочем пространстве MATLAB, и получить и поместить матрицы непосредственно от и в рабочую область. Можно запустить сервер MATLAB, чтобы запуститься или в разделяемом или в специализированном режиме. У вас также есть опция выполнения его в локальной или удаленной системе.
Чтобы создать сервер MATLAB из внутренней программы приложений, используйте соответствующую функцию с того языка, чтобы инстанцировать сервера. (Например, используйте Visual Basic CreateObject
функция. Для программного идентификатора, задайте matlab.application
. Чтобы запустить MATLAB как выделенный сервер, используйте matlab.application.single
программный идентификатор. Смотрите Разделяемые и Выделенные серверы для получения дополнительной информации.
Функция, которая создает сервер MATLAB также, возвращает указатель на свойства и методы, доступные в сервере через интерфейс IDispatch.
Поскольку клиентские программы VBScript требуют, чтобы интерфейс Automation связался с серверами, это - единственная настройка, которая поддерживает клиент VBScript.
Чтобы узнать больше о работе с Серверами автоматизации, см. Интерфейс сервера автоматизации MATLAB COM.
MATLAB обеспечивает более быстрый пользовательский интерфейс под названием IEngine для клиентских приложений, написанных в C, C++ или Фортране. MATLAB использует IEngine, чтобы связаться между клиентским приложением и движком MATLAB, запускающимся как сервер COM.
Используйте API-функции MATLAB Engine для начала и конца серверный процесс, и отправить команды, которые будут обработаны MATLAB.