Типы данных для аргументов и возвращаемых значений функций сервера описываются как типы данных Автоматизации, которые являются независимыми от языка типами, заданными протоколом Автоматизации. Например, BSTR
строковый тип широкого символа, заданный как тип Автоматизации, и тот же формат данных, используемый Visual Basic® язык, чтобы сохранить строки. Любой COM-совместимый клиент должен поддержать эти типы данных, несмотря на то, что детали того, как вы объявляете и управляете этими типами, являются конкретным клиентом.
Эта таблица показывает как MATLAB® преобразует данные от MATLAB до типов COM.
Тип MATLAB | Самый близкий тип COM | Позволенные типы |
---|---|---|
указатель | VT_DISPATCH VT_UNKNOWN | VT_DISPATCH VT_UNKNOWN |
символьный вектор |
VT_BSTR | VT_LPWSTR VT_LPSTR VT_BSTR VT_FILETIME VT_ERROR VT_DECIMAL VT_CLSID VT_DATE |
int16 |
VT_I2 | VT_I2 |
uint16 | VT_UI2 | VT_UI2 |
int32 | VT_I4 | VT_I4 VT_INT |
uint32 | VT_UI4 | VT_UI4 VT_UINT |
int64 | VT_I8 | VT_I8 |
uint64 | VT_UI8 | VT_UI8 |
single | VT_R4 | VT_R4 |
double |
VT_R8 | VT_R8 VT_CY
|
logical | VT_BOOL
| VT_BOOL |
'char' |
VT_I1 | VT_I1 VT_UI1 |
variant
любой тип данных кроме структуры или разреженного массива. (Для получения дополнительной информации смотрите Основной принцип Классы MATLAB.)
Когда используется в качестве входного параметра, MATLAB обрабатывает variant
и вариант (
тот же путь.pointer
)
Если вы передаете пустой массив ([]
) из типа double
, MATLAB создает вариант (
установите на pointer
)VT_EMPTY
. Передача пустого массива любого другого числового типа не поддерживается.
Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
---|---|---|
variant |
VT_VARIANT | VT_VARIANT VT_USERDEFINED VT_ARRAY |
вариант ( | VT_VARIANT | VT_VARIANT | VT_BYREF |
Когда метод COM идентифицирует SAFEARRAY
или SAFEARRAY
(указатель), эквивалентный MATLAB является матрицей.
Аргумент MATLAB | Самый близкий тип COM | Позволенные типы |
---|---|---|
SAFEARRAY | VT_SAFEARRAY | VT_SAFEARRAY |
SAFEARRAY Указатель |
VT_SAFEARRAY | VT_SAFEARRAY | VT_BYREF |
Передать 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.
Массив строк
Структура
Разреженный массив
Многомерный SAFEARRAY
s (больше, чем две размерности)
Свойства только для записи