Преобразуйте типы MATLAB в типы COM

Типы данных для аргументов и возвращаемых значений функций сервера описываются как типы данных Автоматизации, которые являются независимыми от языка типами, заданными протоколом Автоматизации. Например, BSTR строковый тип широкого символа, заданный как тип Автоматизации, и тот же формат данных, используемый Визуальным языком Basic®, чтобы сохранить строки. Любой COM-совместимый клиент должен поддержать эти типы данных, несмотря на то, что детали того, как вы объявляете и управляете этими типами, являются конкретным клиентом.

Эта таблица показывает, как MATLAB® преобразует данные от MATLAB до типов COM.

Тип MATLABСамый близкий тип COMПозволенные типы
указательVT_DISPATCH
VT_UNKNOWN
VT_DISPATCH
VT_UNKNOWN
символьный вектор VT_BSTRVT_LPWSTR
VT_LPSTR
VT_BSTR
VT_FILETIME
VT_ERROR
VT_DECIMAL
VT_CLSID
VT_DATE
int16 VT_I2VT_I2
uint16VT_UI2VT_UI2
int32VT_I4VT_I4
VT_INT
uint32VT_UI4VT_UI4
VT_UINT
int64VT_I8VT_I8
uint64VT_UI8VT_UI8
singleVT_R4VT_R4
double VT_R8VT_R8
VT_CY
logicalVT_BOOL VT_BOOL
'char' VT_I1VT_I1
VT_UI1

Различные данные

variant любой тип данных кроме структуры или разреженного массива. (Для получения дополнительной информации смотрите Основной принцип Классы MATLAB.)

Когда используется в качестве входного параметра, MATLAB обрабатывает variant и вариант (pointer) тот же путь.

Если вы передаете пустой массив ([]) из типа double, MATLAB создает вариант (pointer) установите на VT_EMPTY. Передача пустого массива любого другого числового типа не поддерживается.

Аргумент MATLABСамый близкий тип COMПозволенные типы
variant VT_VARIANTVT_VARIANT
VT_USERDEFINED
VT_ARRAY
вариант (pointer)VT_VARIANTVT_VARIANT | VT_BYREF

Данные SAFEARRAY

Когда метод COM идентифицирует SAFEARRAY или SAFEARRAY(указатель), эквивалентный MATLAB является матрицей.

Аргумент MATLABСамый близкий тип COMПозволенные типы
SAFEARRAYVT_SAFEARRAYVT_SAFEARRAY
SAFEARRAYУказатель VT_SAFEARRAYVT_SAFEARRAY | VT_BYREF

Тип данных VT_DATE

Передать VT_DATE введите вход к программе Visual Basic, используйте класс MATLAB COM.date. Например:

d = COM.date(2005,12,21,15,30,05);
get(d)
     Value: 7.3267e+005
    String: '12/21/2005 3:30:05 PM'

Используйте now функционируйте, чтобы установить Value свойство к номеру даты:

d.Value = now;

COM.date принимает те же входные параметры как datenum.

Неподдерживаемые типы

MATLAB не поддерживает эти типы COM.

  • Массив строк

  • Структура

  • Разреженный массив

  • Многомерный SAFEARRAYs (больше, чем две размерности)

  • Свойства только для записи

Смотрите также

Похожие темы