Следующая таблица показывает, как MATLAB® преобразовывает данные от MATLAB до типов COM.
| Тип MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
| указатель | VT_DISPATCHVT_UNKNOWN | VT_DISPATCHVT_UNKNOWN |
| символьный вектор |
VT_BSTR | VT_LPWSTRVT_LPSTRVT_BSTRVT_FILETIMEVT_ERRORVT_DECIMALVT_CLSIDVT_DATE |
int16 |
VT_I2 | VT_I2 |
uint16 | VT_UI2 | VT_UI2 |
int32 | VT_I4 | VT_I4VT_INT |
uint32 | VT_UI4 | VT_UI4VT_UINT |
int64 | VT_I8 | VT_I8 |
uint64 | VT_UI8 | VT_UI8 |
single | VT_R4 | VT_R4 |
double |
VT_R8 | VT_R8VT_CY
|
logical | VT_BOOL
| VT_BOOL |
| 'char' |
VT_I1 | VT_I1VT_UI1 |
variant является любым типом данных кроме структуры или разреженного массива. (Для получения дополнительной информации смотрите Основной принцип Классы MATLAB.)
Когда используется в качестве входного параметра, MATLAB обрабатывает variant и variant (указатель) тот же путь.
Если вы передаете пустой массив ([]) типа double, MATLAB создает variant (указатель) набор к VT_EMPTY. Передача пустого массива любого другого числового типа не поддержана.
| Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
variant |
VT_VARIANT | VT_VARIANTVT_USERDEFINEDVT_ARRAY |
variant (указатель) | VT_VARIANT | VT_VARIANT | VT_BYREF |
Когда метод COM идентифицирует SAFEARRAY или SAFEARRAY (указатель), эквивалентный MATLAB является матрицей.
| Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
|---|---|---|
SAFEARRAY | VT_SAFEARRAY | VT_SAFEARRAY |
SAFEARRAY (указатель) |
VT_SAFEARRAY | VT_SAFEARRAY | VT_BYREF |
MATLAB не поддерживает следующие типы COM.
Структура
Разреженный массив
Многомерный SAFEARRAY s (больше, чем две размерности)
Свойства только для записи