Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

как перенести свойство предка из 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
5-1103203936
Нулевой
2004-12-16 16:32
2005.10.16
Где можно почитать установка компонент?


4-1124183268
volser
2005-08-16 13:07
2005.10.16
Изменение рабочего стола


1-1127843420
userrrrr
2005-09-27 21:50
2005.10.16
Как програмно изменит: Свойства обозревателя?


3-1125912944
suharew
2005-09-05 13:35
2005.10.16
Обрыв соединения с БД Interbase


14-1127459848
Student_2000
2005-09-23 11:17
2005.10.16
Учебные заведения в Донецке