Хотя идеи, лежащие в основе COM-технологии, являются простыми, терминология не имеет значения. Значение COM-терминов со временем изменилось, и существует мало кратких определений. Вот некоторые термины, с которыми вы должны ознакомиться. Они не являются исчерпывающими определениями. Для получения полного описания COM необходимо проконсультироваться с внешними ресурсами.
COM- object является программным компонентом, который соответствует объектной модели программных компонентов. COM обеспечивает инкапсуляцию объекта, препятствуя прямому доступу к его данным и реализации. COM-объекты открывают интерфейсы, которые состоят из свойств, методов и событий.
COM- client является программой, которая использует COM-объекты. COM-объекты, которые предоставляют функциональность для использования, называются COM- servers. COM-серверы могут быть в процессе или вне процесса. Пример непроцессного сервера - Microsoft® Excel® программа для электронных таблиц.
MATLAB® может использоваться как COM-клиент, так и COM-сервер автоматизации.
Функциональность компонента определяется одним или несколькими интерфейсами. Чтобы использовать COM-компонент, необходимо узнать о его интерфейсах, методах, свойствах и событиях, реализованных компонентом. Поставщик компонентов предоставляет эту информацию.
Существует два стандартных COM-интерфейса:
IUnknown
- интерфейс, требуемый для всех компонентов. Все другие COM-интерфейсы получают из IUnknown
.
IDispatch
- интерфейс, который предоставляет объекты, методы и свойства приложениям, поддерживающим автоматизацию.
COM-клиент является программой, которая манипулирует COM-объектами. Эти объекты могут запускаться в приложении MATLAB или могут быть частью другого приложения, которое представляет свои объекты как программный интерфейс приложению.
Использование MATLAB в качестве COM-клиента предоставляет два метода разработки программ в MATLAB:
Можно включать COM- компонентов в приложение MATLAB (для примера - электронную таблицу).
Вы можете получить доступ к существующим приложениям, которые открывают объекты через Автоматизацию.
Клиенты MATLAB COM могут получить доступ к приложениям, поддерживающим автоматизацию, таким как программа для электронных таблиц Excel. MATLAB создает сервер автоматизации, в котором можно запустить приложение, и возвращает указатель на основной интерфейс для созданного объекта.
Automation предоставляет инфраструктуру, в которой приложения, называемые контроллерами автоматизации, могут получать доступ к общим объектам автоматизации, экспортируемым другими приложениями, называемыми серверами автоматизации, и управлять ими (то есть устанавливать свойства или вызывать методы). Любые окна® программа, которая может быть сконфигурирована как контроллер автоматизации, может управлять MATLAB.
Например, использование Microsoft Visual Basic® язык программирования, можно запустить скрипт MATLAB в Microsoft PowerPoint® презентация. В этом случае PowerPoint является контроллером, а MATLAB является сервером.