Здравствуйте, глубоко уважаемый All.
Случилось мне написать компонент, унаслдеованный от комопнента из VCL.
И столкнулся я ч одной проблемкой, как решить не знаю:
В новом клссе нужно мне, чтобы методы чтения и записи свойства, которое было уже определено в старшем классе,
действовали в новом классе по иному. А как бы это сделать?
Иллюстрирую проблему:
Иерархия классов:
A
|
B
|
С (мой класс)
Свойство P1 объявлено в классе A:
...
private
...
procedure SetFP1
...
protected
...
property P1:string read FP1 write SetFP1
...
Свойство P1 в классе B перемещено в published
...
published
...
property P1
В моем классе С хочу задать для этого свойства метод чтения и изменить метод записи.
Но как?
И вообще возможно ли это в связи с объектной моделью Delphi?
Здравствуйте, olafpalmer, Вы писали:
O>И вообще возможно ли это в связи с объектной моделью Delphi?
Можно..Лишь бы они не были приватными...Хотя если они и приватные — то можно перекрыть свойство
Здравствуйте, olafpalmer, Вы писали:
Вообще-то как правило в VCL для любого класса с published свойствами есть его "тень", т.е. класс-предок, содержащий слово custom и отличающийся исключительно видимостью этих свойств.
Кроме того, в большинстве случаев те свойства, которые имеет смысл перегружать в потомках, оборудованы виртуальными аксессорами.
Так что предлагаю привести конкретную проблему — что за класс, что за свойство.
... << RSDN@Home 1.0 beta 7a >>