exponenta event banner

Интерфейсы объектов COM

Интерфейсы IUnknown и IDispatch

При вызове actxserver функция MATLAB ® создает сервер и возвращает дескриптор интерфейсу сервера в качестве средства доступа к его свойствам и методам. Программное обеспечение использует следующий процесс, чтобы определить, какой дескриптор следует вернуть:

  1. Сначала получите дескриптор интерфейса IUnknown от компонента. Для реализации этого интерфейса требуются все COM-компоненты.

  2. Попытка получить интерфейс IDispatch. Если IDispatch реализован, верните дескриптор к этому интерфейсу. Если IDispatch не реализован, верните дескриптор в IUnknown.

Дополнительные интерфейсы

Компоненты часто предоставляют дополнительные интерфейсы на основе IDispatch, которые реализуются как свойства. Как и любое другое свойство, эти интерфейсы можно получить с помощью MATLAB. get функция.

Например, компонент 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 см. в:

Связанные темы