Для описания данных процедурного типа используется конструкция of object. Например:
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;
Данные процедурного типа применяются, например, для назначения обработчиков события.
Вариантные типы данных
Иногда возникает необходимость работы с типами данных, которые не могут быть определены во время разработки приложения или тип которых изменяется. Для этого в язык Object Pascal были введены так называемые вариантные типы данных. Переменные вариантного типа могут содержать данные разных типов, кроме структурных типов данных, указателей и типа Int64. Для объявления переменной вариантного типа используется слово variant. Все типы являются совместимыми с типом variant, и компилятор делает необходимые преобразования типов автоматически.
Пример, приведенный на листинге 2.4, показывает применение вариантного типа данных.