Читаем Учебник по Delphi 4.0 полностью

<p>Глава 5. Создание элементов управления ActiveX</p>

Большинству пользователей услышавших термин АсtiveX на ум сразу приходят элементы управления ОСХ по-новому названные в очередном маркетинговом трюке компании Microsoft. В некотором смысле это так Microsoft действительно использует термин ActiveX для обозначения технологии базирующихся на модели СОМ. Но аббревиатура OLE уже не охватывает всех этих технологий. Microsoft настолько расширила определение OLE, что разработчики уже давно считают сопутствующие технологии чем-то отдельным от OLE. Поэтому в профессиональную лексику был введен термин ActiveX, используемый для обозначения всех базирующихся на СОМ технологии, которые существуют на данный момент и будут созданы в будущем. На сегодняшний день ActiveX включает следующие технологии:

Библиотеки ActiveX (внутренние серверы)

Серверы автоматизации (внутренние и внешние серверы)

Элементы управления ActiveX

Формы ActiveForm (комбинированные элементы управления ActiveX)

Страницы свойств

Среда разработки Delphi ActiveX (DAX)

Чтобы упростить разработку базирующихся на стандарте ActiveX технологий, необходима продуманная и спланированная среда которая инкапсулирует в себе сложность множества интерфейсов и функции ActiveX и OLE. Разработчики Delphi создали механизм, с помощью которого любой элемент управления Windows, порожденный классом TWinControl, можно превратить в элемент управления ActiveX. Вы можете использовать существующие компоненты VCL и превратить их в элементы ActiveX, которые будут полезны в других средах разработки, например в Visual Basic.

Для облегчения преобразования разработчики Delphi создали среду Delphi ActiveX (DAX). Она упрощает разработку серверов СОМ, типизированных объектов СОМ, серверов автоматизации, элементов управления ActiveX, форм ActiveForm и страниц свойств. Давайте ближе познакомимся со средой DAX.

Объекты ActiveX в среде DAX

Ниже показана иерархия классов среды DAX, которые поддерживают объекты СОМ, типизированные объекты СОМ, серверы автоматизации, элементы управления ActiveX и формы ActiveForm.

TComObject

TTypedComObject

TAutoObject

TActiveXControl

TCustomForm

TActiveForm

Класс TCustomForm вместо класса TForm использован в качестве предка класса TActiveForm, так как в TCustomForm включены только свойства и методы, уместные для формы ActiveX.

Страницы свойств в среде DAX

Другой частью среды DAX являются страницы свойств, которые используются в различных средах программирования для изменения значений свойств элементов управления на этапе разработки. Страницы свойств часто оказываются устаревшими, так как среды программирования обладают различными реализациями инспекторов свойств объектов, которые позволяют оперировать свойствами объектов во время разработки приложения. Но несмотря на это в создаваемые элементы управления ActiveX нужно всегда включать страницы свойств. Даже если эти страницы не будут использоваться ни для чего больше, то они хотя бы предоставят разработчику способ построения специальных окон редактирования более сложных свойств элемента управления. Как будет показано ниже, в Delphi можно довольно просто создавать страницы свойств. Ниже показана иерархия классов, которая поддерживает создание страниц свойств в Delphi.

TCustomForm

TPropertyPage

TActiveXProperty Page

[TMyPropertyPage]

При создании новая страница свойств будет наследована от класса TPropertyPage.

Фабрики объектов в среде DAX

Delphi предоставляет клиентам (контроллерам) объекты серверов СОМ посредством использования фабрик (factories) объектов, которые регистрируются с глобальным сервером СОМ Delphi СОМ Server (ComServer), определенным в модуле ComServ. Сервер СОМ Delphi обрабатывает все запросы объектов СОМ и создает запрашиваемые объекты, если такие зарегистрированы. Классы фабрик объектов используются для поддержки объектов СОМ, типизированных объектов СОМ, объектов автоматизации элементов управления, которые показаны ниже в порядке наследования.

TComObjectFactory

TActiveXPropertyPageFactory

TTypedComObjectFactory

TAutoObj ectFactory

TActiveXControlFactory

TActiveFormFactory

Классы TActiveXControlFactory и TActiveFormFactory используются для регистрации элементов управления ActiveX и форм ActiveForm.

Что же делают эти объекты? Они инкапсулируют интерфейс IClassFactory, используемый для создания объектов с ответствующего класса каждый раз, когда клиентское приложение запрашивает определенный объект. На эти классы также возложена ответственность за внесение записей в реестр Windows в соответствии с типом класса фабрики. Например, класс TActiveXControlFactory вносит в реестр информацию о сервере ActiveX и соответствующей библиотеке типов.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных