Теперь вы, возможно, пожелаете создать одну или несколько страниц свойств. В средах, не поддерживающих инспекторов свойств, это даст возможность пользователю, щелкнув правой кнопкой мыши, вызвать некоторое подобие инспектора свойств для изменения значений свойств элемента управления. Для этого, как минимум, нужно создать основную страницу свойств. Delphi обладает несколькими стандартными страницами свойств для управления цветом, шрифтами, изображением и списком строк Delphi.
Откомпилируйте и зарегистрируйте элемент управления.
ОСХ-файл можно импортировать в любую среду разработки, поддерживающую элементы управления ActiveX, которые созданы в Delphi.
Для регистрации элемента управления ActiveX нужно просто воспользоваться какой-либо утилитой или приложением, которое вызывает экспортируемую элементом ActiveX функцию DllRegiaterServer. Эта функция знает, как внести в реестр Windows записи об элементах ActiveX, данные о фабриках объектов которых зарегистрированы в глобальном объекте сервера СОМ среды программирования Delphi. Нами рассмотрена только одна фабрика объектов (TActiveXControlFactory), но для каждой страницы свойств существует своя фабрика объектов.
Чтобы зарегистрировать элемент управления ActiveX, воспользуйтесь командой Run/Register ActiveX Server.
Рис. 3.10. Диалоговое окно Import ActiveX
Чтобы проверить созданный элемент ActiveX в действии, установите его в среде Delphi. Для этого выберите команду Component/lnstall ActiveX control, и на экране появится диалоговое окно Import ActiveX (рис. 3.10).
Если в списке зарегистрированных элементов управления нет библиотеки PieXControlLib, то следует щелкнуть на кнопке New и добавить в список файл PieXControl.dll. После щелчка на кнопке OK Delphi автоматически вызовет функцию DllRegisterServer, и элемент управления появится в списке зарегистрированных элементов управления. Выберите созданный элемент в списке и щелкните на кнопке Add to package. Здесь есть две возможности: создать новый модуль-оболочку для элемента ActiveX и вставить созданный элемент в уже существующий модуль. Я бы посоветовал вставить созданный элемент в модуль PieLib.dpk, после чего нужно только перекомпилировать модуль, так как он уже установлен.
После выполнения описанных выше действии на вкладке ActiveX в палитре компонентов Delphi появится элемент управления PieX. Вот и все о создании, регистрации и установке элементов управления ActiveX в среде программирования Delphi 4. В других средах программирования регистрация и установка элементов ActiveX реализованы иначе, поэтому обратитесь к руководству по продукту для получения подробных инструкции.
Форма ActiveForm — это набор визуальных или невизуальных компонентов для создания смешанного элемента управления ActiveX. Другими словами, визуальные элементы управления ActiveX можно совмещать для создания простого комбинированного элемента ActiveX. Кроме того, можно создавать целые приложения, обладающие одной формой, которые будут распространяться как формы ActiveForm.
Использование невизуальных элементов означает, что в формах ActiveForm можно использовать объекты BDE для доступа к базам данных, или, что еще лучше, для доступа к данным можно использовать технологию брокеров данных производства Borland (Data Broker), которая разрабатывалась специально для доступа к распределенным множествам данных в рамках сети, такой как Internet.
Что касается выполняемых в формах ActiveForm действий, то тут нет каких-то особых ограничений. Единственным отличием от стандартных форм Delphi является то, что клиентам предоставляются только те свойства, методы и события, которые связаны непосредственно с формой ActiveX. Это означает, что все свойства, методы и события компонентов VCL, используемых в форме, не будут предоставляться клиентам. Названные элементы являются внутренними по отношению к форме ActiveForm.
Если необходимо предоставить клиентам доступ к внутренним свойствам компонентов VCL, то следует добавить в форму ActiveForm новые свойства и методы, как в процессе создания элемента управления ActiveX. За исключением таких случаев, методы свойства Get и Set будут получать и устанавливать значения внутренних компонентов, а не основного элемента управления VCL.
Процесс создания формы ActiveForm в основном совпадает с процессом создания элемента управления ActiveX, но для ясности ниже перечислены основные его этапы: