Информация
о типе во времени выполнения
Информация о типе во
время выполнения (Runtime Type Information, RTTI) — это способность среды
Kylix предоставлять приложению информацию об объектах во время выполнения приложения.
Так как все объекты Kylix являются потомками класса TObject,
то все они содержат указатель на информацию о типе, а также методы для
работы с этой информацией. В приведенной ниже табл. 5.1 рассмотрены некоторые
из этих методов.
Таблица
5.1. Методы для работы с RTTI
Название метода |
Тип возвращаемого
результата |
Результат |
|
|
Указатель на информацию
о типе объекта |
|
|
Имя класса объекта |
|
|
Тип класса-предка
объекта |
|
|
Тип объекта |
|
|
Является ли объект
потомком данного класса |
|
|
Размер объекта
как экземпляра класса в байтах |
Для работы с информацией
о типе времени исполнения в Kylix имеется два основных оператора: is
и as
.
Синтаксис использования
оператора is
:
Объект is Класс;
Данный оператор применяется
для проверки того, принадлежит ли объект к указанному классу. В том случае,
если объект принадлежит классу, возвращается значение True,
в противном
случае возвращается False
.
Приведем пример использования
оператора is.
if ActiveControl
is TEdit then TEdit(ActiveControl).SelectAll;
В этом примере производится
проверка, имеет ли активный компонент тип TEdit.
И если это так,
то в нем выделяется весь имеющийся текст.
Примечание
Для более глубокого понимания компонентов и их свойств обратитесь ко второй части книги.
Синтаксис использования
оператора as
:
Объект as Класс;
Данный оператор служит
для приведения одного типа к другому.
Информация о типе времени
выполнения используется в Kylix в основном для определения, с объектом какого
типа сейчас работает приложение.