ВВЕДЕНИЕ
ЧАСТЬ 1. КОМПОНЕНТЫ, ОСНОВНЫЕ ПОНЯТИЯ
ГЛАВА 1. ПРЕИМУЩЕСТВА КОМПОНЕНТОВ
Что такое компонент?
Компоненты для Delphi
А что же с VBX и OCX?
Для будущего
Причины построения пользовательских компонентов
Функциональность
Повторная используемость
Продуктивность
Согласованность
Что особенного и построении компонентов
Компоненты имеют других конечных пользователей
Написание компонентен является невизуальным процессом
Написание компонент и высшей степени объектно ориентированное
Компоненты должны следовать большему количеству соглашении
Компоненты должны быть гибкими
Компоненты имеют три разных интерфейса
Дорожная карта
Часть 1: Закладка фундамента
Часть 2: Построение кодов
Часть 3: Конструирование
Часть 4: Придется потрудиться
ГЛАВА 2. НОВАЯ ОБЪЕКТНАЯ МОДЕЛЬ DELPHI
В Delphi есть классы
Новые директивы видимости
Модель ссылок на объект
Общий предок
Конструкторы и деструкторы
Упреждающее объявление класса
Виртуальные методы
Абстрактные методы
Методы обработки сообщений
Указатели на методы
Классовые ссылки и виртуальные конструкторы
Классовые методы
Информация о типе времени выполнения
ГЛАВА 3. СВОЙСТВА
Логические свойства
Формальные свойства
Bнyтреннее хранение данных
Прямой доступ
Методы доступа
Методы чтения
Методы записи
Массив свойств
Методы доступа для массива свойств
Многомерные массивы свойств
Индексированные свойства
Свойства и иерархия классов
Ограничения, связанные с использованием свойств
ГЛАВА 4. ОБРАБОТКА ОСОБЫХ СИТУАЦИЙ В DELPHI
Что такое особая ситуация?
Зачем использовать особые ситуации?
Охранные операторы программы
Защита ресурсов
Без защиты
Предотвращение утечки ресурсов
Обработчики особых ситуации
Классы особых ситуации
Особая ситуация в RTL
Повторное возбуждение особой ситуации
Использование объекта особой ситуации
Особые ситуации в компонентах Delphi
Создание пользовательской особой ситуации
Особые ситуации без сообщении
Различные модели особых ситуации
ЧАСТЬ 2. АРХИТЕКТУРА КОМПОНЕНТА DELPHI.
ГЛАВА 5. АНАТОМИЯ КОМПОНЕНТА
Королевство компонентов
Компоненты против объектов
Скелет компонента
Свойства
Типы свойств
Спецификаторы памяти
Методы
Минимизация взаимных зависимостей между методами
Поведенческие функции
Конструкторы
События
Структура событий
Стандартные события
Стандартная диспетчеризация событий
Создание пользовательских событий
ГЛАВА 6. БИБЛИОТЕКА ВИЗУАЛЬНЫХ КОМПОНЕНТОВ
Иерархия VCL
Компонентные классы
TComponent
TControl
TGraphicControl
TWinControl
TCustomControl
Серьезная поддержка
Полотно для рисования
Списки строк
Устойчивые данные
Сохранение непубликуемых или нестандартных свойств
Класс TIntеgеrList
ГЛАВА 7. ОБЗОР ПРОЦЕССА ПОСТРОЕНИЯ КОМПОНЕНТА
Процесс
Строительный участок
Создание модуля компонента
Ручной труд
Соглашения по именованию
Вернемся к работе
Использование Эксперта компонентов
Настройка компонента
Объявление конструктора
Переобъявление новых значений свойств по умолчанию
Реализация конструктора
Тестирование интерфейса времени выполнения
Создание тестового приложения
Установка компонента в палитру
Каталог общей библиотеки
Ресурс компонента
Тестирование интерфейса времени проектирования
Добавление дополнительных компонентов
ГЛАВА 8. РАСШИРЕНИЕ СУЩЕСТВУЮЩЕГО КОМПОНЕНТА
Забавы с панелями
Классы Custom
Четыре стороны панели
Усовершенствование свойства Caption
Рисование панели
Модучь RzCommon
Компонент трехмерной метки
Три свойстпа трехмерности
Трехмерные эффекты
Добро пожаловать в реальный мир
Перемещение с помощью табуляции по окну списка (List Box)
Табулостопы (Tab Stops)
Интеллектуальные табулостопы
Добавление горизонтальной полосы прокрутки
Использование компонента RzTabbedListBox
ЧАСТЬ 3. РАЗРАБОТКА КОМПОНЕНТОВ
ГЛАВА 9. ГРАФИЧЕСКИЕ КОМПОНЕНТЫ
Уже готово?
Определение прогресс-индикатора
Взаимодействие свойств
Рисование компонента
Создание пользовательского события
В каком это состоянии?
Пользовательский компонент состояния
Компонентные сообщения
Когда меняется заголовок
Использование свойства Bitmap
Опрашивающие элементы управления
Который час?
Состояние клавиатуры
Состояние системы
ГЛАВА 10. ВСПОМОГАТЕЛЬНЫЕ ПОЛЬЗОВАТЕЛЬСКИЕ КОМПОНЕНТЫ
Скользя по Delphi
Класс TRzTrackBar
Обработка событий клавиатуры
Обработка событий мыши
Обработка фокуса ввода
Рисование TrackBar (шкалы с ползунком)
Вычерчивание отметок
Установка позиции
Вычерчивание ползунка
Новый и улучшенным метод SеtPosition
Использование растровых изображении из файла ресурсов
Создание компонента-оболочки
Компонеты RzBwcc
Инициализация и очистка
Класс TRzBwccChеckBox
Использование сообщений для взаимодействия с элементом управления
Сообщения уведомления компоненюк
Инкапсуляция множества элементов управления
Класс TRzAddrcss
Доступ к подкомпонентам через свойства
Показ событий, которые происходят в подкомпонентах
ГЛАВА 11. ДИАЛОГИ И НЕВИЗУАЛЬНЫЕ КОМПОНЕНТЫ
Управление задачей
Мы взлетаем
Хьюстон, у нас проблема
Орел приземляется
Отправка почты в Delphi
Класс TRzMailMessage
Компонентные ссылки
Посылка сообщения
Использование RzMailMessage
Диалоговые окна и компоненты
Выбор диалогового окна
Помещение диалога в оболочку компонента
Использование RzLookupDialog
ГЛАВА 12. КОМПОНЕНТЫ, РАБОТАЮЩИЕ С ДАННЫМИ
Восприятие данных
Просмотр данных
Связь данных и ее свойства
Реакция на изменение данных
Редактирование данных
Повторное обращение к связи данных
Только-для-чтения
Повторное обращение к DataChange
Дополнительные события данных
Свойство AutoEdit
Изменения фокуса
Заключительный шаг
ЧАСТЬ 4. ПЕРЕДОВЫЕ ТЕХНОЛОГИИ
ГЛАВА 13. БИЗНЕС-КОМПОНЕНТЫ, РАБОТАЮЩИЕ С ДАННЫМИ
Что такое бизнес-компоненты?
Лучший из двух миров
Объекты типа поле
Редактор полей
Свойства объекта типа поле
Вычисляемые поля
Основа бизнес-компонентов
Базовый класс
Назначение Dataset
Установка полей
Создание объектов типа поле
Построение бизнес-компонента
Объявление класса
Написание метода CreateFields
Определение бизнес-правил и бизнес методов
Регистрация
Использование бизнес-компонента
Подключение
Редактор служащего (исправленный)
ГЛАВА 14. РЕДАКТОРЫ СВОЙСТВ И РЕДАКТОРЫ КОМПОНЕНТОВ
Среда времени проектирования
Редакторы свойств
Стандартные редакторы свойств
Построение редактора свойства
Определение возможностей редактирования
Регистрация редактора свойства
Организация
Редактирование свойств в Инспекторе объектов
Редактирование свойств с использованием диалогового окна
Класс TRzTabStopProperty
OopMd TRzTabStopEditDlg
Редакторы компонентов
Построение редактора компонента
Редактор компонента определенный по умолчанию
Регистрация редактора компонента
Организация
Редактирование меток
Класс TRzLabеlEditor
Форма TRzLabelEditDlg
ГЛАВА 15. ТЕСТИРОВАНИЕ И ОТЛАДКА КОМПОНЕНТОВ
Тестирование выявление ошибок
Тестирование во время выполнения
Более реалистичный пример
Руководсьво по тестированию
Использование отладчика Delphi
Возможности интегрированной отладки
Сильные и слабые стороны
Использование Turbo Debugger for Windows
Отладка тестового приложения
Возможное и TDW
Трудности отладки
Отладка Delphi
Сильные и слабые стороны
Отслеживание сообщении отладки
Пересылка сообщении отладки
Сильные и слабые стороны
Использование Writeln для генерации сообщении отладки
В чем же идея?
Драйверы устройств текстовых файлов
ГЛАВА 16. ПРОФЕССИОНАЛЬНЫЙ ПОДХОД
Оперативная подсказка
Создание документа помощи
Сноска "В"
Создание файла помощи
Создание файла ключевых слов
Подключение ключевых слов к главному индексу
Таблицы строк
Создание таблицы строк
Общепринятый файл включения Raize
Вопросы установки
Модуль регистрации
Файл ресурса компонента
Конец конструирования
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ В
ПРИЛОЖЕНИЕ С
ПРИЛОЖЕНИЕ D
АЛФАВИТНЫЙ УКАЗАТЕЛЬ