как обратиться к полям класса потомка?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
vulturedroid
незнакомец
Сообщения: 2
Зарегистрирован: 24.11.2017 06:32:38

как обратиться к полям класса потомка?

Сообщение vulturedroid »

пример: есть массив a:array[0..2] of TObject, в нём объекты TButton, TEdit, TSpeedButton;
Каким образом можно к примеру изменить Parent этих объектов?
Так не работает: a[0].Parent:=...
спасибо за помощь
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

1. TControl(a[2]).Parent
2. (a[2] as TControl).Parent
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

Свойство Parent появляется в классе TControl. Если у Вас в массиве будут только визуальные компоненты (TButton, TEdit), которые как раз и являются наследниками TControl, то логичнее объявить a:array[0..2] of TControl, и с вызовом a[0].Parent проблем не будет.
Ответить