SomeObject.Test(7); // вызывается метод класса-родителя T1.Test

 

События

События возникают в результате воздействий Пользователя, аппаратуры компьютера или других программ. Известие о наступлении события в операционной системе Windows – это сообщение.

События имеют разное количество и тип параметров в зависимости от происхождения и предназначения. Общим для всех является параметр sender – он указывает на объект-источник события.

В Delphi вызовы обработчиков событий находятся в методах, обрабатывающих сообщения Windows.

Все события в Delphi принято предварять префиксом On.Например,onCreate, onMouseMove, onPaint и другие.

 

 

Исключительные ситуации

Исключительная ситуация – это ситуация, которая возникает в результате ошибки в работе программы (например, деление на ноль, попытка открыть несуществующий файл или получить данные по нулевому указателю).

Для обработки исключительных ситуаций предназначены специальные классы и операторы языка Object Pascal:

· Exception (исключение)– базовый классдля всех классов–исключительных ситуаций. Названия классов, наследуемых от Exception,начинаются с Е, например EZeroDivide

· Операторы try…except и try…finally. В случае возникновения исключительной ситуации выполнение программы немедленно прекращается, и управление передается операторам, идущим за ключевыми словами except или finally.

4.2.9.1 Операторы try…except

Операторыtry…except применяется для обработки исключительных ситуаций.

Синтаксис:

Try

<Операторы>

Except

on <Класс исключения> do <Оператор обработки>;

on <Класс исключения> do <Оператор обработки>;

...

else { обработчик прочих исключительных ситуаций}

<0ператор>

end;

Выполнение оператора начинается с секции try. При отсутствии исключительных ситуаций только она и выполняется.

Секция except получает управление в случае возникновения исключения. После обработки исключительной ситуации управление обратно в секцию try не передается; выполняются операторы, стоящие после end.

Пример:

Var

a, b, c: ShortInt;

Begin

Try

c:= a div b;

Except

on EIntError {Класс исключений для ошибок целочисленной

арифметики (деление на 0, переполнение)}

do

MessageDlg('Ошибка', mtWarning, [mbOK], 0); { вывод сообщения об ошибке в диалоговое окно с кнопкой OK}

end;

end.

4.2.9.2 Операторы try…finally

Операторыtry…finallyприменяется, когда необходимо возвратить выделенные программе ресурсы даже в случае аварийной ситуации.

Синтаксис:

Try/b>

<Операторы>