Форум: "Компоненты";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Внизкак перенести свойство предка из published в public? Найти похожие ветки
← →
alo (2004-12-11 15:22) [0]сабж
← →
jack128 © (2004-12-11 17:19) [1]никак. А зачем?
← →
alo (2004-12-11 17:38) [2]например, делается компонент-наследник TListView, где список Items программно формируется, и не нужно (или нежелательно) в дизайн-тайм работать с Items
← →
jack128 © (2004-12-11 17:45) [3]наследоваться не от TListView, а от TCustomListView
← →
alo (2004-12-12 16:30) [4]да, на самом деле...
и придется публиковать все свойства и события. но это пол-беды (пока кажется бедой).
а как поступать, если мне нужен метод, имеющийся у TListView, но не имеющийся у TCustomListView? переписывать?
← →
Юрий Зотов © (2004-12-12 17:18) [5]> alo (12.12.04 16:30) [4]
> придется публиковать все свойства и события. но это пол-беды
> (пока кажется бедой).
Особой беды тут нет, все делается очень просто:
published
property Имя_свойства;
...
end;
И больше ничего не требуется.
> а как поступать, если мне нужен метод, имеющийся у TListView,
> но не имеющийся у TCustomListView? переписывать?
Обычно такого не бывает, поскольку Custom-классы именно так и строятся, что они дают всю функциональность, а рабочий класс-наследник только публикует нужные ему свойства. Но если все же такая ситуация встретилась - да, придется писать метод ручками.
Впрочем, есть еще одна возможность "закрыть" свойство для Инспектора объектов - нужно зарегистрировать для этого свойства свой редактор, указав nil вместо класса самого редактора (см. RegisterPropertyEditor).
← →
Igorek © (2004-12-14 01:41) [6]
> Впрочем, есть еще одна возможность "закрыть" свойство
> для Инспектора объектов - нужно зарегистрировать для
> этого свойства свой редактор, указав nil вместо класса
> самого редактора (см. RegisterPropertyEditor).
Насколько я помню есть еще один способ. Переопредилить св-во исключив один из методов доступа. По крайней мере в поток оно его точно не запишет.
← →
vuk © (2004-12-14 17:05) [7]to Igorek © (14.12.04 01:41) [6]:
>Переопредилить св-во исключив один из методов доступа.
И потом ловить глюки на предмет, почему криво работает.
← →
Igorek © (2004-12-14 19:09) [8]vuk © (14.12.04 17:05) [7]
Ну, тут уж знаем на что идем.
← →
alo (2004-12-15 14:00) [9]2Igorek
"Переопредилить св-во исключив один из методов доступа"
а можно как-нибудь на самом простом примере?
← →
jack128 © (2004-12-15 18:55) [10]TBaseObject = class(TComponent)
published
property SameProp: string read GetProp write SetProp;
end;
TChildObject = class
published
property SameProp: string read GetProp;
end;
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c