Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3
Кент Рейсдорф. BORLAND C++BUILDER. Страница 278
В средней части диалогового окна находятся два окна списка. Левое окно списка имеет заголовок Auto-create forms (Автоматически создаваемые формы), а правое — Available forms (Доступные формы). Прежде чем рассматривать применение этих двух списков, давайте поговорим об автоматическом создании форм.
Каждый раз, когда вы создаете форму, C++Builder помещает ее в список автоматически создаваемых форм для данного приложения. Автоматическое создание означает, что C+4-Builder создает форму во время запуска приложения. Формы, созданные автоматически, отображаются быстрее. Недостаток автоматического создания форм состоит в том, что ваше приложение расходует для этого дополнительную память. Другой недостаток (хотя, возможно, и не очень существенный), состоит в том, что при наличии большого количества автоматически создаваемых форм ваше приложение будет загружаться несколько дольше.
Удобство автоматического создания форм заключается в простоте вывода такой формы. Все, что вы должны сделать — это вызвать функцию Show() или ShowModal() данной формы:
AboutBox->ShowModal();
Если вы не хотите, чтобы ваши формы автоматически создавались C++Builder, вам необходимо взять на себя ответственность за создание форм перед тем, как они будут использоваться:
TAboutBox* aboutBox = new TAboutBox(this) ; aboutBox->ShowModal(); delete aboutBox;
Этот пример не использует генерируемый C++Builder указатель на окно About. Приведенный код создает локальный указатель, отображает форму, а затем освобождает память, когда форма больше не нужна. Как это часто имеет место в программировании на Си++, существует несколько способов выполнить данную конкретную задачу. Поскольку C++Builder всегда создает указатель на объект формы, я мог бы переписать предыдущий код следующим образом: