Главная страница
    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.038 c
14-1127314797
GRAND25
2005-09-21 18:59
2005.10.16
Сборная России по футболу


1-1127479554
Duk_
2005-09-23 16:45
2005.10.16
HTML page


2-1125919973
kblc
2005-09-05 15:32
2005.10.16
Exception


2-1126952706
Ivan78
2005-09-17 14:25
2005.10.16
Запрос по полю TimeStamp


3-1125573071
B
2005-09-01 15:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский