- •Назовите структурные операторы, применяемые в Object Pascal, и их особенности
- •Использовании подпрограмм в Object Pascal и их разновидности
- •Различных механизмах передачи параметров в под программы Delphi
- •Перечислите области видимости элементов классов, применяемые в Object Pascal
- •Расскажите о правилах описания методов в классах и их особенностях
- •Объясните понятия статических, перегружаемых и абстрактных методов
- •Опишите правила наследования классов.
- •Поясните сущность полиморфизма
- •Расскажите о возможностях определения типа объекта во время выполнения программы и приведение типов объектов
- •Опишите жизненный цикл экземпляра класса, расскажите о конструкторе экземпляров класса
- •Расскажите о деструкторе класса экземпляров класса
- •Деструкторе класса экземпляров класса
- •Описание и использование специальных свойств| объекта property
- •Опишите механизм сообщений в ос Windows
- •Расскажите о методах обработки исключительных ситуаций
- •Расскажите о классах, предназначенных для хранения информации в виде списков
- •Основные свойства и методы классов-списков
- •Опишите возможности и особенности хранения строковых массивов в классах-наследниках tStrings
- •Поясните понятие потока и объясните преимущество использования потоков по отношению к традиционным методам чтения/записи данных
- •Расскажите о строчных потоках, построенных на основе оперативной памяти
- •Поясните понятие графического контекста Windows
- •Форматы графических файлов, поддерживаемых Delphi
- •Расскажите о файлах, соответствующих каждой форме приложения в Delphi
- •Опишите структуру приложения на Delphi, расскажите о видах интерфейса приложения с точки зрения расположения его окон на экране
- •Опишите процесс построения приложения в Delphi
- •Опишите основные инструменты среды разработчика Delphi
- •Опишите жизненный цикл экземпляров классов
- •Расскажите о механизме интерфейсов в Delphi
- •Расскажите об интерфейсах (Interface и (Unknown))
- •Расскажите о правилах именования компонентов и автоматическое именование их Средой разработчика
- •Поясните разницу между свойством принадлежности компонентов и свойством визуальной принадлежности
- •Расскажите о взаимосвязях компонентовчерез механизм уведомлений
- •Расскажите о визуальных компонентах-оболочкахи легковесных компонентах
- •Расскажите об организации структуры элементов управления в окне
- •Расскажите об методах расположения визуальных компонентов на экране и управления их размерами
- •Расскажите о свойствах видимости и доступности визуальных компонентов
- •Расскажите о компонентах, предназначенных для вывода на экран текстовой информации
- •Расскажите о компонентах, предназначенных для ввода текстовой информации
- •При помощи каких компонентов можно обеспечить возможность ввода пользователем числовых значений?
- •При помощи каких компонентов можно вывести на экран какое-либо графическое изображение?
- •Расскажите о возможностях элементов управления — кнопок
- •Приведите правила создания компонентов во время выполнения программы
- •Поясните понятие диалогового компонента
- •Поясните разницу между модальными и немодальными диалогами
- •Поясните понятие формы и основы использования форм в Delphi
- •Опишите жизненный цикл формы
- •Расскажите об основах организации многооконных приложений в Delphi
- •Поясните понятие фрейма
- •Расскажите о депозитарии форм
- •Опишите основные методы, применяемые в Delphi для управления окружением программы
- •Расскажите про использование dll в программных продуктах
- •Расскажите про многопоточные приложения
- •Расскажите об особенностях модели сом
- •Расскажите про модель сообщений компонентов
Опишите механизм сообщений в ос Windows
Ответ: Windows следит за изменениями в состоянии системы (нажатие клавиш, перемещение мыши и нажатие ее кнопок, и т.д.) и генерирует
специальные структуры данных, которые содержат следующую информацию:
1. Ссылка на окно, которое находилось в фокусе, когда произошло событие.
2. Идентификатор события.
3. Дополнительная информация для данного события.
Далее эти пакеты сохраняются в очереди сообщений Windows, а ядро опять
переходит в режим слежения за системой. С другой стороны, очередь непрерывно разбирается, анализируется ссылка на окно, которому предназначено событие, и вызывается его оконная функция — специальная подпрограмма, описанная по определенным правилам и зарегистрированная в операционной системе как объект назначения для сообщений. Вызванная оконная функция должна проанализировать событие по его идентификатору, используя дополнительные параметры, выполнить действия, обусловленные логикой программы, и вернуть в качестве результата функции код завершения обработки.
Дайте определение исключительной ситуации
Ответ: Исключительная ситуация (исключение) — это некоторая ситуация времени выполнения программы, которая требует специальной обработки. К таким событиям относятся ошибки времени выполнения программы, например, деление на ноль или попытка чтения информации из несуществующего файла.
Расскажите об объектах-исключениях в Delphi
Ответ: При возникновении исключительной ситуации Delphi создает экзем-
пляр некоторого класса, в зависимости от характера произошедшей ошибки
и вызывает команду Raise, передавая ей ссылку на этот объект. Все такие классы являются наследниками класса Exception, что позволяет им быть «узнаваемыми» для Delphi.
После вызова команды Raise по очереди прерываются подпрограммы, вызвавшие ту подпрограмму, в которой произошла исключительная ситуация. Данный процесс останавливается, когда в одной из подпрограмм стека обнаруживается обработчик соответствующего класса исключительных
ситуаций.
Любая подпрограмма может сама сгенерировать исключительную ситуацию с помощью оператора Raise.
Расскажите о методах обработки исключительных ситуаций
Ответ: Когда некоторый фрагмент программного кода необходимо защитить от досрочного завершения по ошибке, его следует заключить в блок обработки исключения. Таких блоков в Delphi предусмотрено два:
Блок обработки исключений Try.. Except пытается выполнить заданный фрагмент программы, а, в случае появления исключения, передает управление специальному обработчику, расположенному в секции Except. Блок обработки исключений Try. .Except может быть использован в ситуациях, когда известно, как именно нужно реагировать на произошедшую ошибку, даже если программа и не пытается установить ее тип. Когда реакция программы на ошибку не так важна, как корректное завершение фрагмента программы, вызвавшего эту ошибку, может быть использован блок обработки исключений Try.. Finally. При его использовании вне зависимости от корректности работы основного фрагмента программы, управление всегда передается в секцию Finally, где обычно производятся действия по возврату системе ресурсов, полученных перед входом в блок обработки исключения.