Когда вы вызываете actxserver
или функции actxcontrol
, MATLAB создает сервер и возвращает указатель на интерфейс сервера как средние значения доступа к его свойствам и методам. Программное обеспечение использует следующий процесс, чтобы определить который указатель возвратиться:
Сначала получите указатель на интерфейс IUnknown от компонента. Все COM-компоненты требуются, чтобы реализовывать этот интерфейс.
Попытайтесь получить интерфейс IDispatch. Если IDispatch реализован, возвратите указатель на этот интерфейс. Если IDispatch не реализован, возвратите указатель на IUnknown.
Компоненты часто обеспечивают дополнительные интерфейсы, на основе IDispatch, которые реализованы как свойства. Как любое другое свойство, вы получаете эти интерфейсы с помощью функции get
MATLAB.
Например, компонент Microsoft® Excel® содержит многочисленные интерфейсы. Чтобы перечислить эти интерфейсы, наряду со свойствами Excel, введите:
h = actxserver('Excel.Application'); get(h)
MATLAB отображает информацию как:
Application: [1x1 Interface.Microsoft_Excel_9.0_ Object_Library._Application] Creator: 'xlCreatorCode' Parent: [1x1 Interface.Microsoft_Excel_9.0_ Object_Library._Application] ActiveCell: [] ActiveChart: [1x50 char] . .
Чтобы видеть, является ли Workbooks
интерфейсом, введите:
w = h.Workbooks
Отображения MATLAB:
w = Interface.Microsoft_Excel_9.0_Object_Library.Workbooks
Отображенная информация зависит от версии программного обеспечения Excel, которое вы имеете в своей системе.
Для использования в качестве примера Excel в MATLAB см.: