Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Microsoft OLE Automation - Детали01 мая 2011Оглавление: 1. Microsoft OLE Automation 2. Детали Технология определяет те COM интерфейсы, через которые интерпретатор языка будет общаться с объектом. Технология поддерживает:
Типы данных OLE Automation:
Другие типы данных технологией не поддерживаются. Также технология поддерживает type libraries информацию о типах свойств/методов/аргументов, доступную во время выполнения. Обычно технология разрешает имена свойств и методов при исполнении, никак не проверяя их на этапе разбора, и возбуждая ошибку «объект не поддерживает свойство или метод» только при исполнении. Однако, если у объекта есть type library, зарегистрированная на машине, то в некоторых средах разработки можно объявить его так, что имена будут проверяться на этапе разбора. В Visual Basic это делалось операторами Dim o As Object или же Dim o As Excel.Application. На уровне языков Си/Си++ вызов OLE Automation выглядит как вызов IDispatch::Invoke, куда передаются преобразованные в константы строковые имена метода/свойства/аргументов, и значения аргументов, преобразованных в типы OLE Automation. Это крайне неудобно и вызывает расходы произодительности, потому у многих объектов реализованы т. н. дуальные интерфейсы потомки IDispatch, реализующие и Invoke, ровно тот же функционал через обычные COM методы. При этом сохраняется ограничение на типы данных, приведенное выше. Библиотека ATL содержит в себе фреймворк поддержки дуальных интерфейсов. Компилятор Microsoft C++ поддерживает директиву #import включение type library. При этом из исходного файла генерируются автоматически заголовки Си++, использующие средства comdef.h. Цикл разработки объектов:
Цикл построения объектов:
Просмотров: 1698
|