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

Пособие для программистов.

Голованов М. Е., Веселов Е. О. «Создание компонентов в среде Delphi» БХВ-Петербург, 2004 год, 320 стр., ISBN 5-94157-465-7; (5,85 мб. djvu)

Книга посвящена созданию компонентов на языке Object Pascal, предназначенных для использования в средах разработки фирмы Borland. Описываются особенности реализации ООП в Object Pascal и библиотеки классов VCL и CLX. Показывается, как расширять имеющиеся компоненты и писать собственные компоненты «с нуля». Рассматриваются невизуальные, графические и оконные компоненты, а также компоненты для работы с СУБД. Представлен процесс создания редакторов компонентов и их свойств, широко применяемых в Delphi. Даны практические рекомендации по распространению готовых компонентов и встраиванию их в среду разработки, по написанию справочной системы для разработанных компонентов, по расширению возможностей IDE Delphi. Приведено подробное описание малодокументированной возможности Object Pascal, связанной с получением и использованием информации времени выполнения (RTTI). Изложение сопровождается большим количеством примеров самых различных типов компонентов.

Оглавление книги

Содержание.

Часть I. Реализация идей ООП В Object Pascal 

Глава 1. Введение в компоненты 13
Что такое компонент Delphi? 14
Зачем писать собственные компоненты? 14
Функциональность 14
Повторная используемость кода 15
Повышение продуктивности работы 15
Повышение согласованности частей ваших проектов 15
Особенности процесса создания компонентов 15
Другие конечные пользователи 16
Невизуальный процесс 16
Объектно-ориентированное программирование 16
Большее количество соглашений 17
Три разных интерфейса взаимодействия с компонентами 17
Написание компонентов часто требует более высокой квалификации разработчика 17

Глава 2. Объектно-ориентированное программирование в Object Pascal 19
Инкапсуляция 19
Наследование 20
Конструкторы и деструкторы. Модель ссылок на объект 23
Полиморфизм 26
Виртуальные методы и позднее связывание как способ достижения настоящего
полиморфизма 29
Абстрактные методы 31
Перегрузка методов 32
Директива reintroduce 34
Классовые ссылки и виртуальные конструкторы 35
Методы классов 38
Опасное и безопасное приведение типов. Операторы RTTI as и is 40
Указатели на методы 41
Агрегация и делегирование 42
Упреждающее объявление классов 42
Методы обработки сообщений 43

Глава 3. Обработка ошибок. Особые ситуации в Delphi 46
Два подхода к обработке ошибок. Понятие исключительной ситуации 46
Операторы try except, try finally 47
Иерархия классов особых ситуаций 49
Исключительные ситуации ввода/вывода 51
Исключительные ситуации динамического выделения памяти 52
Внешние исключительные ситуации 52
Ошибки преобразования 53
Обработка исключительных ситуаций 53
Особые ситуации в компонентах Delphi. Возбуждение исключительных ситуаций 61
Применение Assert для поиска ошибок 62

Глава 4. Свойства 63
Понятие свойства. Простые свойства 63
Массивы свойств 66
Индексированные свойства 69
Свойства и иерархия классов. Ограничения, связанные со свойствами 70

Глава 5. Интерфейсы 72
Начальные сведения 72
Понятие реализации интерфейсов 73
Наследование в интерфейсах 76
Назначение методов Ilnterfaee 77
Идентификация интерфейсов. GU1D 79
Делегирование и агрегация 81

Часть II. Архитектура компонентов в Delphi 85

Глава 6. Компонент изнутри 87
Компоненты против объектов 87
Скелет компонента 87
Еще раз о свойствах 91
Спецификаторы памяти 92
Конструкторы 94
События 95

Глава 7. Библиотеки визуальных компонентов VCL и CLX 99
Иерархия VCL 99
TObject 101
ТPersistent 106
Компонентные классы VCL 108
TComponent 108
ТControl 111
TGraphic Control 114
TWinControl 115
TCustom Control 116
Часто используемые некомпонентные классы VCL 116
ТCanvas 116
TStrings 119
Иерархия CLX. Компонентные классы CLX 121
Устойчивые данные 123
Загрузка формы в run-time 127
Сохранение непубликуемых или нестандартных свойств компонентов 130

Глава 8. Процесс построения компонента 135
Создание модуля компонента. Рекомендации по проектированию 135
Код компонента 139
Тестирование интерфейса времени выполнения 141
Интерфейс времени установки 144
Регистрация форм с published свойствами 145
Установка компонента в палитру 146
Создание значка пользовательского компонента 149
Тестирование интерфейса времени проектирования 150

Часть III. Разработка пользовательских компонентов 153

Глава 9. Невизуальные компоненты и диалоги 155
Регулятор громкости звука 156
Диалог поиска значения в наборе данных 161

Глава 10. Графические компоненты 168
Компонент X 168
Трехмерная метка 171
Метод SetCaptionStyle 174
Метод DoDrawText 174

Глава 11. Оконные элементы управления 177
TWinControl и с чем его едят 177
TCustom Control как строительная площадка для собственных оконных
элементов управления 184
Компоненты-контейнеры. Раскрывающаяся панель 192

Глава 12. Компоненты, работающие с данными 203
Структура компонентов для взаимодействия с наборами данных 203
Класс TDataLink 205
Выбор способа организации канала данных 210
Разработка компонентов, отображающих набор данных 212
Разработка компонентов, модифицирующих набор данных 218

Глава 13. Редакторы свойств и редакторы компонентов 224
Редакторы свойств 224
Общие сведения 224
Размещение и регистрация редакторов свойств 231
Примеры создания пользовательских редакторов свойств 232
Управление группировкой свойств и отображением значений
по умолчанию 241
Редакторы компонентов 243

Часть IV. Взаимодействие со средой разработки Delphi 253

Глава 14. Создание справки компонента 255

Глава 15. Run Time Type Information — Информация о типах времени выполнения 260
Установка значений свойств 260
Получение информации о типах свойств объекта 262
Получение информации о свойствах класса 264
Получение информации о типах указателей на методы 269
Получение информации о типах указателей на другие типы данных 273

Глава 16. Создание экспертов IDE 276
Создание Notifier 277
Создание ОТА эксперта IDE 281
Создание эксперта генерации исходного кода 284
Использование сервисов IDE в экспертах 298
Цветной грид вместо заключения 305
Приложение. Описание компакт-диска 313
Предметный указатель 316

СкачатьDJVU

Похожая литература