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