ActiveX. Что такое ActiveX

   
На этом шаге мы рассмотрим, что такое ActiveX.

   
Технология ActiveX, которой посвящены эти шаги, базируется на технологии Microsoft COM
и позволяет создавать и использовать программные компоненты, предоставляющие различные сервисы
другим приложениям и операционной системе.

   
Использование СОМ, и в частности технологии ActiveX, позволяет создавать приложения, собираемые из готовых
компонентов - элементов управления ActiveX. При этом не имеет значения, на каком языке программирования написаны как готовые
компоненты, так и использующее их приложение, - лишь бы средство разработки поддерживало возможность использования таких компонентов в разрабатываемом
приложении (такое приложение обычно называется контейнером).

   
Элементы управления ActiveX своим поведением напоминают компоненты на палитре Delphi. Их можно поместить
на проектируемую форму, и при этом в инспекторе объектов появятся их свойства и события. Можно также вызывать их методы
на этапе выполнения использующего их приложения. Главное отличие элементов ActiveX от компонентов VCL заключается в
том, что если компоненты, написанные на Delphi, доступны для использования только в
Delphi и C++Builder, а компоненты, написанные на C++Builder, - только в C++Builder, то элементы
управления ActiveX можно применять в любых средствах разработки, поддерживающих использование в приложениях СОМ-объектов,
например в Visual Basic, Microsoft Visual C++, PowerBuilder, Visual dBase и других.

   
Элементы управления ActiveX представляют собой библиотеки, содержащие исполняемый код. Эти библиотеки
могут быть использованы в различных приложениях как встроенные элементы управления, поэтому они обладают
свойствами, событиями и методами, доступными посредством автоматизации. Подавляющее большинство современных
средств разработки, как правило, позволяет включать такие элементы в создаваемые с их
помощью приложения. Помимо этого, элементы управления ActiveX нередко используются в качестве
расширений Web-браузеров с целью придания им дополнительной функциональности, например для отображения
документов, отличных от поддерживаемых данным браузером.

   
Отметим, что элементы управления ActiveX представляют собой внутренние (in-process) серверы, выполняющиеся в
адресном пространстве приложения.

   
Как любой СОМ-сервер, элемент управления ActiveX обладает уникальным идентификатором GUID и должен
быть зарегистрирован в реестре. На основании этой записи может быть осуществлен поиск местоположения файла с
расширением OCX, содержащего его реализацию.

   
Таким образом, создав элемент управления ActiveX, обладающий интересующей вас функциональностью, вы
можете в дальнейшем позволить его пользователям встраивать этот элемент в свои приложения (например, написанные
на Visual Basic, PowerBuilder, Delphi, C++Builder, Visual dBase и др.), отображать его в
Web-браузере в составе выгруженной с вашего Web-сервера HTML-страницы, включать его
в состав документов MS Office, при этом вы не обязаны представлять исходный текст этого
компонента.

   
Когда следует создавать управляющие элементы ActiveX? Естественно, в тех случаях, когда функциональность,
содержащаяся в таком элементе, уникальна. Нет смысла создавать ActiveX, реализующий функциональность кнопки или
текстового редактора, - таких элементов управления, в том числе выполненных в виде ActiveX, на рынке готовых
компонентов более чем достаточно. Нет смысла также создавать ActiveX, если он будет использоваться
только в Delphi; в этом случае проще создать VCL-компонент, который будет работать
в использующем его приложении значительно быстрее, чем аналогичный ActiveX. Но создание элемента
управления, реализующего, к примеру, часть автоматизированного рабочего места какой-либо категории сотрудников вашего
предприятия, может оказаться весьма полезным особенно в следующих двух случаях. Первый случай -
использование на предприятии различных инструментальных средств, например Delphi и Visual Basic; в этом случае
разработчик, использующий Visual Basic, может встраивать в свои приложения ActiveX,
созданный другим разработчиком и реализующий какую-либо функциональность, используемую несколькими
различными автоматизированными рабочими местами. Второй случай - широкое использование Internet или Intranet при
автоматизации предприятия. В этом случае ActiveX, реализующий подобную функциональность, может быть
встроен в HTML-страницу и отображен в Web-браузере. Такой подход существенно облегчает
решение проблемы обновления версий автоматизированных рабочих мест, так как вместо установки новых версий на рабочих станциях
достаточно заменить один экземпляр ActiveX, хранящийся на Web-сервере. Наиболее ярким примером такого подхода может быть
выполненный в виде ActiveX "тонкий" клиент, получающий данные от удаленного сервера приложений, являющегося, в свою очередь,
клиентом серверной СУБД.

   
Такой набор преимуществ сделал эту технологию за последнее время весьма популярной, и именно поэтому многие современные средства разработки,
такие, как Delphi или C++Builder, позволяют создавать элементы управления ActiveX. Эти средства обычно имеют встроенные механизмы
поддержки спецификации ActiveX с помощью автоматической генерации соответствующего кода (хотя, конечно, не возбраняется писать подобный
код вручную).

   
Спецификация ActiveX представляет собой набор правил (а именно описание стандартных интерфейсов), с помощью которых следует создавать такие
элементы управления. Отметим, что текущая версия этой спецификации учитывает возможность использования в качестве контейнера Web-браузеров и необходимость загрузки
элементов ActiveX с удаленных Web-серверов с их автоматической регистрацией.

   
На следующем шаге мы рассмотрим создание элементов управления ActiveX на основе VCL-компонентов.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий