Поддерживаемые Клиент-серверные Настройки

Введение

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

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

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

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

Средства управления Microsoft ActiveX

Управление ActiveX® является объектом с пользовательским интерфейсом. Когда MATLAB создает элемент управления ActiveX, он помещает пользовательский интерфейс управления в окно фигуры MATLAB. Кликните по различным вариантам, доступным в пользовательском интерфейсе (e. g., делая конкретный выбор пункта меню) к триггерным событиям, которые передаются от управления в сервере к клиентскому приложению MATLAB. Клиент решает, что сделать о каждом событии и отвечает соответственно.

MATLAB идет с демонстрационным элементом управления ActiveX под названием mwsamp. Это управление рисует круг на экране и отображает некоторый текст. Можно использовать это управление, чтобы испытать MATLAB функции COM. Для получения дополнительной информации смотрите Демонстрационный элемент управления ActiveX MATLAB mwsamp.

Серверы DLL

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

MATLAB отвечает на события, сгенерированные сервером DLL таким же образом как события от элемента управления ActiveX.

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

Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.

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

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

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

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

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

MATLAB отвечает на события, сгенерированные сервером из процесса таким же образом как события от элемента управления ActiveX.

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

Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.

Реализации COM, поддержанные программным обеспечением MATLAB

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

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

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

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

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

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

Примечание

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

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

Чтобы узнать больше о работе с Серверами автоматизации, см. Интерфейс сервера автоматизации MATLAB COM.

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

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

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

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