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

Вниз

Видимость свойств   Найти похожие ветки 

 
Nickolay   (2011-02-18 15:22) [0]

Здравствуйте! Кто может подсказать ответ на такой вопрос?

И в литературе, и в справке Delphi одно из важных отличий секции
public от секции published формулируется так:
свойства из секции public невидимы в окне Инспектора объектов, а
свойства из секции published видимы в этом окне.

Создаю класс TForm1 = class(TForm), объявляю в его секции published любое новое свойство, например
                property MyCnt1: Integer read FMyCnt1 write FMyCnt1;
в окне Инспектора объектов его не вижу.

Перекрываю любое существующее свойство в секции public - объявляю в классе-потомке в секции published. Например, property TileMode; в TForm - в public, а у меня, в TForm1, - в published. В окне Инспектора объектов опять не вижу.

В чём дело?


 
Palladin ©   (2011-02-18 15:25) [1]

пичаль... это что же за литература такая...


 
Palladin ©   (2011-02-18 15:28) [2]

... ты кстати про справку то не заливай... фантазер


 
KSergey ©   (2011-02-18 15:56) [3]

Чтобы свойство published было доступно в инспекторе объектов - это должен быть компонент, причем установленный в IDE Delphi.
Если это свойство просто добавлять какому-то произвольному объекту, то оно не будет отображаться в инспекторе объектов, однако в отличии от public зля него будет доступна RTTI (RTTI для published доступна всегда, собственно это и отличает их от public, а видимость их в инспекторе - это следствие)


 
icWasya ©   (2011-02-18 16:11) [4]

В отличии от C#, Инспектор объектов видит поля только у тех типов, которые помещены в пакет, скомпилированы, и в пакете вызвана процедура RegisterComponents или аналогичная.


 
han_malign   (2011-02-18 16:27) [5]

насколько помнится, для формы - еще Repository прокатит...


 
Nickolay   (2011-02-19 12:06) [6]


> Palladin ©   (18.02.11 15:28) [2]
> ... ты кстати про справку то не заливай...


Published members

Published members have the same visibility as public members. The difference is that runtime type information (RTTI) is generated for published members.

Видимость published-элементов такая же, как и у public-элементов. Отличие заключается в том, что для published-элементов генерируется RTTI.
...
RTTI is used ... to display properties in the Object Inspector ...

RTTI используется, чтобы отображать свойства в Инспекторе объектов.


 
KSergey ©   (2011-02-19 12:09) [7]

> Nickolay   (19.02.11 12:06) [6]
> RTTI is used ... to display properties in the Object Inspector
> RTTI используется, чтобы отображать свойства в Инспекторе объектов.

И где здесь написано, что published непременно отображаются в инспекторе? Написано что у них есть все, что необходимо для отображения, и не более. Т.е. объявить published не является достаточным, а лишь необходимым.


 
_Юрий   (2011-02-19 12:29) [8]


> RTTI для published доступна всегда, собственно это и отличает
> их от public


Теперь уже нет.
так что теперь ничто не отличает
Разве что только то, показывает ли их инспектор


 
Nickolay   (2011-02-19 12:30) [9]


> KSergey ©   (19.02.11 12:09) [7]
Т.е. объявить published не является достаточным


И что же является достаточным?


 
_Юрий   (2011-02-19 12:38) [10]


> Nickolay   (19.02.11 12:30) [9]


> И что же является достаточным?


Этот код должен быть скомпилирован и подгружен в процесс IDE в составе пакета.
Форма же в дизайн тайм в процесс IDE не подгружается.
Также см. RegisterCustomModule



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
2-1298200252
ddd329
2011-02-20 14:10
2011.05.29
MDI форма в пределах окна?


2-1298064447
lewka
2011-02-19 00:27
2011.05.29
Копирование TImage


1-1255507938
defen
2009-10-14 12:12
2011.05.29
исключение для EDBEngineError


15-1297421234
Учусь
2011-02-11 13:47
2011.05.29
приведение типов в сях


15-1297097095
***
2011-02-07 19:44
2011.05.29
Промо ролик демонстраций по физике НИЯУ МИФИ





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