Можно сконфигурировать MATLAB® для управления или управления другими COM- компонентов. Когда MATLAB управляет другим компонентом, MATLAB является клиентом, а другой компонент - сервером. Когда другой компонент управляет MATLAB, MATLAB является сервером.
Следующая схема показывает, как клиент MATLAB взаимодействует с процессным сервером.
Сервер предоставляет свои свойства и методы через интерфейс IDispatch (Automation) или Пользовательский интерфейс, в зависимости от того, какие интерфейсы реализует компонент. Для получения информации о доступе к интерфейсам см. раздел «Интерфейсы COM-объектов».
Любой COM- компонента, который был реализован как библиотека динамических ссылок (DLL), также создается в рабочем сервере. То есть он создается в том же процессе, что и клиентское приложение MATLAB. Когда MATLAB использует сервер DLL, он запускается в отдельном окне, а не в графическом окне MATLAB.
Дополнительные сведения о работе с MATLAB в качестве клиента см. в разделе Создание COM-объектов.
В этом строении клиентское приложение MATLAB взаимодействует с компонентом, который был реализован как локальный непроцессный сервер. Примерами непроцессных серверов являются Microsoft® Excel® и программы Microsoft Word.
Как и в случае с процессорными серверами, этот сервер предоставляет свои свойства и методы через интерфейс IDispatch (Automation) или Пользовательский интерфейс, в зависимости от того, какие интерфейсы реализует компонент. Для получения информации о доступе к интерфейсам см. раздел «Интерфейсы COM-объектов».
Поскольку клиент и сервер выполняются в отдельных процессах, у вас есть опция создать сервер в любой системе в той же сети, что и клиент.
Если компонент обеспечивает пользовательский интерфейс, то его окно отделено от клиентского приложения.
Дополнительные сведения о работе с MATLAB в качестве клиента см. в разделе Создание COM-объектов.
MATLAB поддерживает только реализации COM, совместимые с API библиотеки активных шаблонов (ATL). В целом ваш 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.
Примечание
Поскольку клиентским программам VBScript требуется интерфейс автоматизации для связи с серверами, это единственное строение, которая поддерживает клиент VBScript.
Дополнительные сведения о работе с серверами автоматизации см. в разделе Интерфейс сервера автоматизации MATLAB COM.
MATLAB обеспечивает более быстрый пользовательский интерфейс IEngine для клиентских приложений, написанных на C, C++ или Фортран. MATLAB использует IEngine для связи между клиентским приложением и движком MATLAB, работающим как COM-сервер.
Используйте функции MATLAB Engine API для начала и конца серверного процесса и для отправки команд, которые будут обработаны MATLAB.