
- •7.6 Методические указания.
- •7.6.1 Элементы управления ActiveX
- •7.6.2 Особенности компонентного программирования с применением ActiveX.
- •7.6.3 Структура элементов ActiveX
- •7.6.3.1 Базовые интерфейсы элементов управления ActiveX.
- •7.6.3.2 Базовые интерфейсы контейнеров управляющих элементов ActiveX.
- •7.6.4. Использование существующих элементов ActiveX в среде Delphi.
- •7.6.4.1 Инсталляция существующих элементов ActiveX для работы в среде Delphi.
- •7.6.4.2 Деинсталляция установленных элементов ActiveX.
- •7.6.5 Реализация компонентов ActiveX в Delphi.
- •Procedure Initialize; override;
- •7.6.6 Создание собственных элементов ActiveX и форм ActiveForm
- •7.6.6.1 Преобразование компонента vcl в элемент ActiveX
- •7.6.6.2 Создание форм Active Form.
7.6.2 Особенности компонентного программирования с применением ActiveX.
Как отмечалось выше, ActiveX-компоненты очень похожи на компоненты Delphi. Однако, компоненты Delphi могут быть использованы при разработке приложений в среде Delphi и, с определенными ограничениями, в среде Borland C++ Builder. компоненты ActiveX такого ограничения не имеют, – они могут быть использованы в любых средствах разработки приложений, поддерживающих COM-технологии.
Программирование с использованием компонентов имеет много достоинств. При использовании компонентного подхода приложение (которое может представлять собой большую и сложную систему) разбивается на более мелкие и простые для понимания части. В результате этого [16]:
систему можно наращивать постепенно, по мере создания частей;
значительно упрощается процесс отладки, так как каждый компонент системы можно отлаживать отдельно;
систему легче адаптировать под требования заказчика, так как можно изменять не всю систему в целом, а лишь некоторые ее компоненты;
компоненты системы можно повторно использовать в последующих разработках;
компоненты системы могут находиться в любом доступном через сеть месте, в том числе и на другом компьютере;
компоненты могут быть написаны на разных языках программирования;
значительно упрощается модернизация системы, так как систему можно модифицировать по частям, поставляя новые версии компонентов.
Несмотря на большое количество достоинств, элементы ActiveX не лишены и некоторых недостатков. Во-первых, полноценная поддержка ActiveX имеется только в операционной системе Windows. Поскольку эта система занимает монопольное положение среди операционных системы для настольных компьютеров, то этот недостаток пока не слишком существенен, однако, в будущем, ситуация может измениться. Поэтому, в настоящее время фирмой Microsoft активно внедряется кроссплатформенная архитектура .net, в которой сохранится возможность использования COM-объектов в "старом стиле". Причем во многих случаях, можно выполнить преобразование из объекта COM в .NET и обратно. Во-вторых, компоненты ActiveX не позволяют в полной мере реализовать объектно-ориентированный подход. У элементов ActiveX (как и у объектов СОМ) отсутствует механизм наследования и, естественно, не реализуется полиморфизм. Поэтому программы, построенные на основе иерархии объектов СОМ, обычно имеют достаточно сложную структуру.
7.6.3 Структура элементов ActiveX
Поскольку элементы ActiveX являются модификацией OLE–документов, то, вполне естественно, что они содержат те же интерфейсы, что и OLE–документы (см. п. 6.6.7.1 методических указаний к лабораторной работе 6-TPR).
Как отмечалось выше, своим появлением ActiveX-элементы обязаны развитию технологий Internet и WWW. Дело в том, что первые элементы управления (тогда они еще назывались элементы управления OLE) в соответствии со спецификацией обязаны были поддерживать слишком много стандартных интерфейсов. И это притом, что в большинстве элементов управления они никогда не использовались. В результате элементы управления получались громоздкими и долго загружались средствами Internet-технологий. Требования были существенно облегчены, а в результате элементы управления стали гораздо более компактными и дали толчок развитию ряда смежных технологий. За ними было закреплено название элементы управления ActiveX.