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

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

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

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

Сообщение vulturedroid » 24.11.2017 07:44:31

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

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

Сообщение pupsik » 25.11.2017 00:16:03

1. TControl(a[2]).Parent
2. (a[2] as TControl).Parent
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

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

Сообщение Vlad04 » 27.11.2017 14:55:28

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


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

Рейтинг@Mail.ru