Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 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.05 c
3-1125470679
MakNik
2005-08-31 10:44
2005.10.16
Оптимизация запроса...


4-1124203096
SpyBoy
2005-08-16 18:38
2005.10.16
размер скачиваемого файла


2-1126873939
чайник5
2005-09-16 16:32
2005.10.16
fastreport


14-1127812199
pazitrton_brain
2005-09-27 13:09
2005.10.16
Зацените программу


1-1127712035
Ded_Matvey
2005-09-26 09:20
2005.10.16
меняется шрифт в перерисованой канве





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский