Преобразование типов MATLAB к типам 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 и variant (указатель) тот же путь.

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

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

Данные SAFEARRAY

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

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

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

MATLAB не поддерживает следующие типы COM.

  • Структура

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

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

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

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