Показать сообщение отдельно
  #2  
Старый 30.04.2014, 18:08
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от madMonia
1) В документах сказано, что любое поле класса должно быть в секции private.
Чаще всего так и бывает, но встречаются и исключения. Если не путаю, раньше их можно было найти даже в коде VCL. Эти случаи редки и обычно документируются либо комментариями в коде, либо объяснениями в доке. Много полей в protected и уж тем более в public -- просчет архитектуры или уж слишком нестандартная архитектура, скажем так.

Цитата:
Сообщение от madMonia
Сам я пользовался published только при разработке компонентов, и в published переводил только свойства, и только те свойства, который имели смысл вне рантайма.
Да, смысл именно в этом, в раздувании exe-файла избыточной RTTI. Если разрабатываемый класс наследуется от предка без RTTI (не от TPersistent), разницы между public и published нет (не уверен насчет последних версий Delphi).

Скажем, у меня в CoreLite RTTI не используется вовсе и секции published ни в одном классе нет.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием