Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Опубликованные события у TPesistent   Найти похожие ветки 

 
jack128 ©   (2005-08-29 00:48) [0]

День добрый.

Как известно, если у некого компонента TTestComponent есть свойство типа TSomeSubPropComponent(внутреньнее, созданное с флагом  csSubComponent), то при редактировании свойств TTestComponent в Инспекторе Объектов на закладке Events мы увидем все опубликованные свойства TSomeSubPropComponent. С другой стороны, если наше свойство будет иметь тип TSomePropPersistent(то есть наследник TPersistent, но не компонент), то его события в ИО отображаться не будут. У кого нить есть соображения, почему такая дискриминация???


 
Джо ©   (2005-08-29 01:21) [1]


> jack128 ©   (29.08.05 00:48)

Так в чем кроется дискриминация? В том, что TPersistent вообще не имеет свойства ComponentStyle и, соответственно, метода SetSubComponent? Или в чем-то другом?


 
jack128 ©   (2005-08-29 11:05) [2]

в том, что в ИО не отображаются его события. А у компонентных свойств отображаются.


 
Наиль ©   (2005-08-29 12:34) [3]

TPersistent - обладает возможностью копирования информации из объекта в объект. А компонент - возможностью взаимодействия с дизайнером.
У каждого свои предназначения и не зачем требовать от них чего-то большего.

Проанализировав, объект TMethodProperty, пришёл к выводу, что всё дело в связи Дизайнер -> Метод. Так как компоненты регистрируются, то всегда есть прямой путь Дизайнер -> Компонент -> Метод.
Что касается TPersistent-свойств, то к ним тоже имеется прямой путь через родительский компонент.
А вот вслучае с методами (событиями) TPersistent цепочка может быть нарушена, т.к. TPersistent не регистрируется.

По крайней мере, именно так я увидел логику работы TMethodProperty.


 
jack128 ©   (2005-08-29 16:48) [4]

Наиль ©   (29.08.05 12:34) [3]
У каждого свои предназначения и не зачем требовать от них чего-то большего.

А чего такого "большего" я прошу??

Наиль ©   (29.08.05 12:34) [3]
А вот вслучае с методами (событиями) TPersistent цепочка может быть нарушена, т.к. TPersistent не регистрируется.

Каким образом? Событие ничем от других свойств не отличаются, и если в ИО можно редактировать свойства типа TSomePersistent.SomeIntegerProp, то точно так же можно и редактировать свойства процедурного типа.
Наиль ©   (29.08.05 12:34) [3]
По крайней мере, именно так я увидел логику работы TMethodProperty.

он тут не причем.


 
Юрий Зотов ©   (2005-08-29 17:11) [5]

Жень, посмотри пример, о котором мы говорили. Там именно такой редактор и именно для НЕкомпонента.

А почему этого не сделал дядька Борланд... а шут его знает, сам удивляюсь. Забыл, наверное...
:о)

Если есть желание, напиши такой редактор сам, в порядке самосовершенстования. Пример у тебя есть.


 
Наиль ©   (2005-08-29 17:56) [6]

>[5]
Можно узнать, о каком примере речь?
>[4]
Возможно я не полностью вник в суть редакторов свойств.
Есть версия, что во всём виноват TFont, свойство onChange которого уже во-всю используется другими компонентами. И если бы борланд пошёл вашим путём, то с этим свойством возникло бы масса проблем.


 
jack128 ©   (2005-08-29 18:27) [7]

Юрий Зотов ©   (29.08.05 17:11) [5]
Там именно такой редактор и именно для НЕкомпонента.

Так именно при просмотре примера и возник вопрос ;)

Юрий Зотов ©   (29.08.05 17:11) [5]
а шут его знает, сам удивляюсь. Забыл, наверное...

Ну понятно. Руки не дошли.  Я просто думал, может в подобном ограничении есть какой нить высокий смысл..  Ну нет, так нет...

Наиль ©   (29.08.05 17:56) [6]
TFont, свойство onChange

Это паблик свойство, так что я и сейчас могу его подменить и возникнет масса проблем ;) И в любом случае оно бы не отображалось в ИО


 
Яся   (2005-08-29 18:30) [8]

Не было бы никаких проблем - OnChange не published


 
GuAV ©   (2005-08-29 22:31) [9]

TComboExItems (коллекция итемов TComboBoxEx) имеет событие OnCompare.



Страницы: 1 вся ветка

Форум: "Компоненты";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.06 c
2-1138653560
korban
2006-01-30 23:39
2006.02.19
Запуск программы только один раз


8-1126183451
Максим
2005-09-08 16:44
2006.02.19
Конвертация цветовых схем


2-1138896451
dera
2006-02-02 19:07
2006.02.19
Не знаю, сможете ли помочь...


1-1137843315
Arkano
2006-01-21 14:35
2006.02.19
Имитрование нажатия правой кнопки крысы


1-1137568396
DmitriyR
2006-01-18 10:13
2006.02.19
выбор панели





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский