Процесс построения нового компонента значительно отличается от процесса разработки нового приложения. В ходе разработки приложения активно используется уже существующая в системе Delphi библиотека визуальных компонентов VCL (Visual Component Library). При создании пользовательского компонента эта библиотека активно изменяется и пополняется. Новый компонент обычно разрабатывается не с нуля, а на основе уже существующего класса, функции которого детализируются или расширяются путем изменения имеющихся и добавления новых свойств и методов. Разработка компонента, в отличие от визуального конструирования обычного приложения, сводится в основном к написанию исходного кода модуля компонента, для чего совершенно необходимо глубокое знание принципов объектно-ориентированного программирования и владение ими на уровне используемой системы программирования. Цикл разработки нового компонента включает следующие этапы: 1. Анализ требований к новому компоненту. На данном этапе, исходя из исходных условий, которые формулируются как задание на разработку, необходимо тщательно продумать, какие функции должны реализовываться компонентом, какими характерными свойствами и методами он должен обладать. 2. Выбор подходящего родительского класса. По результатам предыдущего этапа нужно выбрать из VCL класс, функции которого наиболее близко подходят к требуемым функциям нового компонента. 3. Программирование компонента. На данном этапе в модуле компонента реализуются свойства, методы и события компонента. 4. Установка компонента в палитру компонентов системы Delphi. 5. Тестирование компонента в отдельно создаваемом тестовом приложении. 6. Создание значка (ресурса) для нового компонента. 7. Создание справки компонента.
По объему и трудоемкости, наиболее сложным из всех перечисленных является третий этап. Модуль компонента может быть создан двумя способами:
• ручным;
• с помощью Мастера компонентов.
Ручной способ создания модуля компонента заключается в подготовке нового модуля посредством команды меню File/New/Unit. Далее следует ввести программный код модуля, аналогичный сгенерированному Мастером.
Наиболее часто применяется второй способ, поскольку использование Мастера позволяет упростить и ускорить создание модуля компонента. Мастер позволяет создать модуль, в котором будет объявлен минимально функциональный, т. е. родительский компонент, готовый к установке в среду разработки. После этого можно приступить непосредственно к реализации функций нового компонента, добавляя к родительскому новые свойства, методы и события. Чтобы вызвать Мастер создания модуля компонента, можно воспользоваться одним из двух способов, выполнив в главном меню Delphi одну из следующих команд:
• команду Component/New Component;
• команду File/New/Other.
Во втором случае в открывшемся диалоговом окне New Items (рис. 2) следует выполнить двойной щелчок по значку Component.
Рис. 2
В любом случае будет открыто диалоговое окно New Component мастера компонентов, представленное на рис. 3. Назначение и использование элементов этого окна поясняются в следующем подразделе.