Шаг 121 - Что такое ActiveX

Важный вопрос в плане того, что в минимальном виде нужно четкое понимание. Итак, развивалось все так.

COM – OLE – VBX - OCX – ActiveX

На все эти технологии были созданы соответствующие спецификации. Эти спецификации наверно рано или поздно мы переведем и поместим на сайт, а пока вот так называются последние -

OCX – OCX 96
ActiveX – OLE Controls/COM Objects for the Internet

ActiveX - это 32 разрядные элементы, которые базируются на технологии COM, и которые поддерживают интерфейс элементов управления. Этот интерфейс может предоставлять:

Свойства (properties)
Методы (methods)
События(event)

Спецификация ActiveX в минимальном виде требует только одного интерфейса IUnknown ("Шаг 18 - Интерфейс IUnknown"). Конечно с этим интерфейсом далеко не уйдешь, так как он ничего не умеет делать. Все остальные интерфейсы являются необязательными. Но естественно реальный элемент ActiveX содержит множество интерфейсов. В спецификации ActiveX описывается какие интерфейсы и для чего используются в добавление к описанным в OCX 96. Для информации контейнер AcitveX поддерживает бибилиотеку типов, в которой описываются свойства, методы и события. Эта библиотека может быть как в отдельном файле tlb, так и внутри элемента. Существенное отличие ActiveX от OCX это возможность использования ActiveX для Web приложений.

В документации в том числе и в MSDN очень часто встречается фраза, что ActiveX раньше было OLE. Вопросы запутанные совсем. В том числе и требования к ActiveX. Например, для использования ActiveX в VB требуется еще один интерфейс IDispatch. Нужно понимать это так, спецификация ActiveX определяет только минимальный необходимый интерфейс для работы с объектом, а это IUnknown. Несмотря на то, что в реальной жизни такой элемент не имеет смысла.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.09.2002