Выбрать главу

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 и соответствующей библиотеке типов.

Получив представление о средствах Delphi, поддерживающих разработку объектов ActiveX, рассмотрим инструмент Delphi для создания объектов ActiveX. Как это ни странно, но начать придется не с кодирования, а с документации. Если быть более точным, то сначала придется создать библиотеку типов, которая будет использоваться в Delphi для генерации шаблон кода, базирующегося на иерархии классов среды DAX. Позже созданный шаблон будет заполнен, откомпилирован, зарегистрирован и т. д. Следовательно, прежде чем приступить к созданию объектов ActiveX, следует усвоить, что такое информации о типах и как использовать редактор библиотек типов (Type Library Editor) Delphi. Обозначенные аспекты описаны в следующем разделе.

Библиотеки типов

Библиотеки типов — это составные документы OLE, в которых содержится информация об объектах СОМ, элементах управления ActiveX и объектах автоматизации. Информация о типах включает перечисления, свойства и методы интерфейсов.

Библиотека типов предназначена для предоставления другим приложениям и средам программирования информации о составных объектах, которые в ней содержатся. В процессе разработки элементов управления ActiveX и объектов автоматизации Delphi сохраняет информацию о типах в файле с расширением TLB, который в качестве ресурса компонуется в модуль DLL или ЕХЕ.

В следующих разделах будут коротко описаны возможности редактора библиотек типов Delphi и типы, которые создаются для элементов управления ActiveX, форм ActiveForm, объектов автоматизации и т. п.

Редактор библиотек типов

Редактор библиотек типов Delphi используется для просмотра и редактирования библиотек типов. Основой интерфейса редактора является панель Object List (рис. 3.1), с помощью которой пользователь может изменять, добавлять и удалять элементы библиотеки типов. Элементами библиотек типов являются составные классы, свойства и методы интерфейсов и перечисления. Панель Object List представляет элементы в виде дерева объектов. В зависимости от типа элемента, выбранного в панели Object List, в правой части редактора библиотек типов появляются различные вкладки. Возможно, это будут вкладки Attributes, Members и Uses.

Для редактирования библиотеки типов текущего проекта выполните команду View/Type Library. Чтобы просмотреть библиотеку типов, не являющуюся частью проекта, выберите пункт меню File/Open. После этого в списка File of type выберите строку Type Library (*.tlb;*.dll;*.ocx;*.exe;*.olb), чтобы вывести все файлы, которые могут содержать информацию о типах.

Теперь более детально рассмотрим каждый элемент библиотеки типов. Начнем с информации о библиотеке.