Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2
Кент Рейсдорф. BORLAND C++BUILDER. Страница 243
Этот раздел содержит вопросы, которые помогут вам закрепить пройденный материал, и упражнения, которые дадут опыт практического применения изученного. Ответы на вопросы приведены в приложении А.
Если я изменю свойство Name компонента, используя для этого инспектор объектов, изменит ли C++Builder автоматически все ссылки на этот компонент в моей программе?
И да и нет. C++Builder изменит все ссылки на имя этого компонента в той части кода, который был сгенерирован им самим, и оставит без изменений код пользователя.
Очевидно, что компонент OpenDialog является видимым. Почему же он называется невизуальным компонентом?
Потому что он не отображается при разработке программы. Он становится видимым только во время выполнения, когда вы вызываете его при помощи метода Execute().
Почему это так принципиально — изменять свойство Name только через инспектор объектов?
Когда вы работаете с редактором форм, C++Builder генерирует код, опираясь на свойство Name. Если вы затем измените свойство Name, непосредственно редактируя исходные файлы или во время выполнения программы, то все ссылки на эту форму или компонент станут неверными. Это, скорее всего, приведет к невозможности компиляции вашей программы или ее краху во время выполнения.
Мне кажется, что я использую свойства своих компонентов чаще, чем методы. Это неправильно?
Вовсе нет. Фактически, именно так и разрабатывались компоненты VCL. Хорошо написанный компонент должен в максимальной степени использовать свойства. Именно по этой причине вы можете пользоваться методами компонента гораздо реже, чем свойствами. Используйте методы, когда это действительно необходимо, но во всех остальных случаях управляйте своими компонентами во время выполнения программы через свойства.