Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2

Кент Рейсдорф. BORLAND C++BUILDER. Страница 243

Вопросы и задания

Этот раздел содержит вопросы, которые помогут вам закрепить пройден­ный материал, и упражнения, которые дадут опыт практического применения изученного. Ответы на вопросы приведены в приложении А.

Вопросы и ответы

Если я изменю свойство Name компонента, используя для этого инспектор объектов, изменит ли C++Builder автоматически все ссылки на этот компо­нент в моей программе?

И да и нет. C++Builder изменит все ссылки на имя этого компонента в той части кода, который был сгенерирован им самим, и оставит без изменений код пользователя.

Очевидно, что компонент OpenDialog является видимым. Почему же он на­зывается невизуальным компонентом?

Потому что он не отображается при разработке программы. Он становится видимым только во время выполнения, когда вы вызываете его при помощи метода Execute().

Почему это так принципиально — изменять свойство Name только через инспектор объектов?

Когда вы работаете с редактором форм, C++Builder генерирует код, опи­раясь на свойство Name. Если вы затем измените свойство Name, непо­средственно редактируя исходные файлы или во время выполнения про­граммы, то все ссылки на эту форму или компонент станут неверными. Это, скорее всего, приведет к невозможности компиляции вашей про­граммы или ее краху во время выполнения.

Мне кажется, что я использую свойства своих компонентов чаще, чем ме­тоды. Это неправильно?

Вовсе нет. Фактически, именно так и разрабатывались компоненты VCL. Хорошо написанный компонент должен в максимальной степени исполь­зовать свойства. Именно по этой причине вы можете пользоваться методами компонента гораздо реже, чем свойствами. Используйте методы, когда это действительно необходимо, но во всех остальных случаях управляйте своими компонентами во время выполнения программы через свойства.

Web-дизайн (с) 2010 All rights reserved