Чтобы создать сервер, вам нужен программный идентификатор (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