Интерфейсы 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 см.:

Похожие темы