Повторное использование разработанных кодов___________________433

Закройте приложение, сотрите надпись на панели в форме FCopy и сделайте
аналогичную надпись «Левая» на панели формы FInherit. Сохраните и запустите
опять приложение. Вы увидите, что на форме FInherit появилась введенная вами
надпись, а панели остальных форм по-прежнему пустые.

Опять закройте приложение и, не стирая надпись в левой панели формы FIn-
herit, сделайте надпись «Правая» в правой панели третьей формы FBase. Сохрани-
те и запустите приложение. Вы увидите (рис. 7.11), что на форме FBase появилась
введенная вами надпись. А на форме FInherit имеются надписи на обеих панелях.
Надпись на левой введена в модуле этой формы, а надпись на правой панели насле-
дуется из базового модуля UBase. Таким образом, в наследуемых формах те свой-
ства, которые были изменены в процессе проектирования, так и остаются неизмен-
ными. А остальные наследуются из базовой формы.

Рис. 7.11

Тестирование различных
режимов заимствования
форм из депозитария

В этом и заключаются положительные стороны наследования форм. Если вы
построили различные формы вашего приложения (настоящего, а не этого тестово-
го) наследованием, то изменив родительскую форму (например, изменив в ней раз-
меры панелей или добавив какие-нибудь кнопки), вы автоматически внесете эти
изменения и во все производные формы. Правда, эти изменения проявятся только
при перекомпиляции вашего приложения.

Но у наследования есть и отрицательные свойства. Попробуйте в вашем при-
ложении удалить в форме FInherit одну панель. Сделать это невозможно, так как
C+4-Builder выдаст сообщение об ошибке. Однако, этот недостаток можно обойти.
В производной форме можно сделать ненужные компоненты невидимыми (Visib-
le = false) и недоступными (Enabled = false). Тогда они как бы исчезнут с формы.

Мы рассмотрели включение в депозитарий форм и их использование. Но в де-
позитарий можно включать и целые проекты. Если вы хотите включить в него ваш
проект, откройте его и выполните команду Project | Add To Repository.... Дальнейшие
действия аналогичны тем, которые вы выполняли при включении в депозитарий
формы. Отличие проекта от формы при их заимствовании из депозитария состоит
в том, что проект можно взять оттуда только в режиме Copy, т.е. скопировать его и
далее сохранить под другим именем. Если вы хотите взять проект, хранящийся в
депозитарии, то начать работу надо не с привычной команды File | New Application, a
с команды File | New. Вы выбираете проект из депозитария и вам сразу же предлага-
ется диалоговое окно с просьбой указать каталог, в котором вы хотите сохранить
копию проекта. После этого можете обычным образом работать с этой копией и ме-
нять в ней все, что вам захочется.