Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВЕДЕНИЕ В ОБЪЕКТНО Ориентированное программиро...docx
Скачиваний:
19
Добавлен:
29.08.2019
Размер:
1.01 Mб
Скачать

Создание компонентов в среде Delphi Способы создания компонентов

Компонент Delphi - это класс, с которым можно работать в период разработки. Создание компонента означает порождение новых классов из уже существующих. Можно породить новый компонент от любого существующего класса, потомка TComponent. Но существует несколько наиболее общих путей создания компонентов:

· модификация существующего компонента;

· создание нового оконного элемента управления (потомка TWinControl или TCustomControl);

· создание нового графического элемента управления (потомка TGraphicControl);

· создание «обертки» вокруг существующих Windows элементов управления;

· создание невизуального компонента (потомка TComponent).

Классы, порожденные от классов, не являющихся потомками TComponent не будут компонентами.

Простейший способ создания компонента - это изменить уже существующий. Некоторые элементы управления могут иметь несколько вариантов на основе базового. В этом случае в VCL включается абстрактный класс (со словом Custom в его имени, например TCustomGrid), от которого порождаются новые версии. При этом могут изменяться методы и свойства. Так как нет возможности скрыть уже опубликованные свойства, то если это необходимо, приходится порождать новый класс от предка в линии наследования, у которого свойства еще были скрыты.

Оконные элементы управления - это компоненты, которые способны получать фокус ввода и имеют для этих целей дескриптор окна. Такие элементы управления порождаются либо от TWinControl!, либо, если нужны возможности отрисовки, от TCustomControl. При этом виртуально перекрывается метод Paint, который отвечает за отображение компонента. Перекрываются другие существующие методы, изменяется свойств, создаются новые методы и свойства и т.п.

Если компоненту не нужен фокус ввода, то он аналогичным образом может быть порожден от TGraphicControl.

В Windows существуют зарегистрированные элементы управления. При необходимости могут создаваться и регистрироваться новые. В Delphi имеется возможность создавать компоненты путем создания «обертки» вокруг существующих элементов управления Windows. Пример созданного таким образом компонента Delphi - TEdit и другие, описанные в модуле STDCTLS.

Невизуальные компоненты используются, например, для организации доступа к базам данных, системным часам и т.д. Разрабатываются подобно визуальным, но могут порождаться непосредственно от TComponent.

Процесс создания компонентов

В процессе создания компонента можно выделить следующие этапы:

· создание модуля для компонента,

· создание описания и реализации класса для компонента,

· создание Help файла для компонента (если требуется),

· тестирование не установленного компонента, регистрация компонента.

По завершению работы компонент будет включать следующие файлы:

· файл пакета (.BPL) или коллекции пакетов (.DPC),

· откомпилированный файл пакета (.DCP),

· откомпилированный файл модуля (.DCU),

· файл графического изображения для компонента в палитре компонентов (.DCR),

· файл справки (.HLP).

В среде разработки Delphi пакеты используются для хранения кода визуальной библиотеки компонентов. Исходный файл пакета имеет расширение DPK и представляет собой выполненное с использованием специального синтаксиса перечисление модулей и других пакетов, включаемых в состав данного пакета. На основе исходного файла компилятор генерирует исполняемый файл пакета с расширением BPL и создает файл бинарной карты пакета с расширением ОСР, в который включается заголовок пакета и ссылки на все используемые файлы с расширением ОСИ Новый компонент можно как добавить в уже имеющийся пакет, так и создать для него новый. Создание нового в большинстве случаев предпочтительнее.