Hi
They're actually "published" not "public". The reason for that, we shall find in ...Tadaaaa: Rtti, Run Time Type Information, which is used in the streaming mechanism of the form and controls on it and the reason, you can design your forms with the Object Inspector. If you look closer, you'll see that all the visual elements descend from TPersistent, which is compiled with {$M+} that turns on embedded typeinfo, BUT only for things in the "published" section, that was then (standard TypeInfo), a new extended Rtti is in the forge, to be able to query all members of a class / interface. And by convention the elements in the "sectionless" section of a class are "published". If you want to tap into the power of Rtti, the units (TypInfo & Rtti) are there for you to play with, it's fun.
If you make the class elements private, even Rtti can't touch them, I tried

Regards Benny