Информация о типе во времени выполнения

Информация о типе во время выполнения (Runtime Type Information, RTTI) — это способность среды Kylix предоставлять приложению информацию об объектах во время выполнения приложения. Так как все объекты Kylix являются потомками класса TObject, то все они содержат указатель на информацию о типе, а также методы для работы с этой информацией. В приведенной ниже табл. 5.1 рассмотрены некоторые из этих методов.

Таблица 5.1. Методы для работы с RTTI

Название метода

Тип возвращаемого результата

Результат

Classlnfo

Pointer

Указатель на информацию о типе объекта

ClassName

String

Имя класса объекта

ClassParent

Tclass

Тип класса-предка объекта

ClassType

Tclass

Тип объекта

InheritsFrom

Boolean

Является ли объект потомком данного класса

InstanceSize

Word

Размер объекта как экземпляра класса в байтах

Для работы с информацией о типе времени исполнения в Kylix имеется два основных оператора: is и as.

Синтаксис использования оператора is:

Объект is Класс;

Данный оператор применяется для проверки того, принадлежит ли объект к указанному классу. В том случае, если объект принадлежит классу, возвращается значение True, в противном случае возвращается False.

Приведем пример использования оператора is.

if ActiveControl is TEdit then TEdit(ActiveControl).SelectAll;

В этом примере производится проверка, имеет ли активный компонент тип TEdit. И если это так, то в нем выделяется весь имеющийся текст.

Примечание

Для более глубокого понимания компонентов и их свойств обратитесь ко второй части книги.

Синтаксис использования оператора as:

Объект as Класс;

Данный оператор служит для приведения одного типа к другому.

Информация о типе времени выполнения используется в Kylix в основном для определения, с объектом какого типа сейчас работает приложение.

Hosted by uCoz