, Система визуального объектно-ориентированного проектирования C++Builder 83

а)                                            б)

Г)

OK    j    Cancel        Help

Рис. 2.20

Стандартные формы из Депозитария: Password Dialog (a). About box (б). Tabbed pages (в),
Dual list box(r)

2.4.4.3 Совместное владение формой несколькими приложениями

Теперь рассмотрим случай, когда вам требуется включить в свой проект фор-
му, разработанную ранее вами или кем-то еще для другого проекта. Тут возможны
несколько вариантов действий, имеющих различные последствия.

Можно включить готовую форму в проект командой Project | Add to Project или
соответствующей быстрой кнопкой. При этом, если включаемая форма имеет то
же имя, которое имеет одна из уже имеющихся в проекте форм (например, Formi,
если вы не привыкли изменять имена форм, принимаемые C++Builder по умолча-
нию), то вы получите предупреждение вида: «The project already contains a form or
module named Form!» — «Проект уже содержит форму или модуль с именем Formi». В
результате форма в проект не включится. Аналогичный вариант будет, если вы не
следуете в своей работе уже дававшемуся совету присваивать модулям уникальные
имена. Если в проекте уже имеется модуль Uniti и вы пытаетесь включить из дру-
гого каталога модуль формы, тоже имеющий имя Uniti, то вам будет выдано'такое
же предупреждение и новый модуль в проект не включится.

Разрешить подобные конфликты можно следующим образом. Переименуйте в
вашем проекте форму, вызвавшую конфликт (задайте для нее новое имя в свойстве
Name). Если конфликт вызван совпадением имен модулей, то сохраните конфлик-
тующий модуль командой File | Save As, дав ему новое имя. После этого можете по-
вторить попытку добавления в проект новой формы.

Предупреждение

Учтите, что форма, содержащаяся в одном приложении и включенная описанным способом
в другое приложение, становится общей для обоих приложений. Если вы сделаете в ней ка-
кие-то изменения, а потом перекомпилируете оба приложения, то внесенные изменения от-
разятся на обоих приложениях.