Чтобы создать сервер, вам нужен программный идентификатор (ProgID), чтобы идентифицировать сервер. MATLAB® имеет ProgID для общих и выделенных серверов. Эти идентификаторы являются либо зависящими от версии, либо не зависящими от версии.
MATLAB ProgID для общих серверов:
Matlab.Application
- Запускает командное окно Сервер автоматизации с версией MATLAB, которая совсем недавно использовалась в качестве сервера автоматизации (которая, возможно, не является последней установленной версией MATLAB)
Matlab.Autoserver
- Запускает командное окно Сервер автоматизации с помощью последней версии MATLAB
Matlab.Desktop.Application
- Запускает полный рабочий стол MATLAB как сервер автоматизации с помощью последней версии MATLAB
Идентификаторы ProgID для выделенных серверов:
Matlab.Application.Single
Matlab.Autoserver.Single
Эти version-independent MATLAB ProgIDs определяют текущую зарегистрированную версию MATLAB.
Чтобы создать образец определенной зарегистрированной версии MATLAB, можно использовать version-dependent ProgID. Для примера, Matlab.Application.7.14
создает образец MATLAB версии 7.14 (R2012a).
Клиентское приложение устанавливает соединение с сервером MATLAB. Способ создания соединения зависит от языка клиентской программы. Для получения этой информации см. документацию по языку. Возможные опции включают:
Клиент C #:
mlType = Type.GetTypeFromProgID("Matlab.Application"); matlab = Activator.CreateInstance(mlType);
где mlType
и matlab
определяются как:
public static Type mlType; public static Object matlab;
Визуальный базовый® .NET клиента:
MatLab = CreateObject("Matlab.Application")
где MatLab
определяется как:
Dim MatLab As Object
Клиент VBA:
Set MatLab = CreateObject("matlab.application")
где MatLab
определяется как:
Dim MatLab As Object
Эта корпорация Майкрософт® Код Visual Basic .NET запускает MATLAB как COM-сервер автоматизации в режиме полного рабочего стола с помощью Matlab.Desktop.Application
ProgID.
Dim MatLab As Object Dim Result As String MatLab = CreateObject("Matlab.Desktop.Application") Result = MatLab.Execute("surf(peaks)")
Не всегда необходимо создавать новый образец сервера MATLAB. Клиенты могут подключаться к существующему серверу автоматизации MATLAB с помощью команд, зависящих от языка. Например, этот пример Visual Basic .NET соединяется с существующим сервером MATLAB, а затем выполняет команду plot на сервере.
Dim h As Object h = GetObject(, "matlab.application") h.Execute ("plot([0 18], [7 23])")
Примечание
Используйте GetObject
показан синтаксис, который опускает первый аргумент.
Кроме того, можно задать текущий сеанс MATLAB в качестве COM-сервера. Дополнительные сведения см. в разделе Создание сервера автоматизации вручную.
Вы можете сделать MATLAB видимым на рабочем столе, установив Visible
свойство. Когда MATLAB отображается на рабочем столе, что позволяет пользователю взаимодействовать с ним. Это может быть полезно для таких целей, как отладка. The Visible
свойство включено (установлено в 1
) по умолчанию.
Когда это не видно, окно MATLAB не появляется, что препятствует взаимодействию с приложением. Чтобы скрыть рабочий стол, установите Visible
свойство к 0
.
Этот код Visual Basic .NET показывает, как отключить Visible
свойство.
Dim MatLab As Object MatLab = CreateObject("matlab.application") MatLab.Visible = 0