| 
| 
 | Вопрос # 2 400/ вопрос открыт / | 
 |  Здравствуйте!
 Подскажите, как решить следующую задачу:
 
 Есть форма-менеджер, из которой должны запускаться в любом количестве другие формы приложения.
 
 1. Нужно по нажатию кнопки, чтобы создавался объект типа TForm столько раз, сколько это необходимо, как это можно сделать?
 
 Пока у меня получилось создать только один объект
 //TStartFormEquipment наследуется от TForm
 
 MyFormEquipment := TStartFormEquipment.Create(Self);
 MyFormEquipment.Show();
 
 
 2. При закрытии формы-менеджера нужно, чтобы все созданные мною формы корректно закрывались.
 
 Спасибо.
 
|  |   Вопрос задал: Aндрей (статус: 1-ый класс)Вопрос отправлен: 6 февраля 2009, 10:57
 Состояние вопроса: открыт, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Amidamaru Здравствуйте, Aндрей!Для создания экземпляра формы TStartFormEquipment не обязательно использовать переменную MyFormEquipment.
 
 Всё можно сделать вот так: (см. Приложение)
 
 А в OnClose класса формы TStartFormEquipment вставить Free; (если обработчик уже есть, то Free; нужно ставить последней строчкой). Если сделать так, что форма будет уничтожаться после закрытия.
 
 Т.к. все формы создаются, указывая в качестве AOwner Application, то доступ к ним можно получить используя свойства Application ComponentCount и Components
 
 А по поводу закрытия формы-менеджера, если эта форма создаётся первой, то она является главной формой (Application.MainForm) , при закрытии этой формы Application уничтожается и вместе с ним уничтожаются все остальные формы.
 
|  | Ответ отправил: Amidamaru (статус: 4-ый класс)Время отправки: 6 февраля 2009, 12:14
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Вадим К Здравствуйте, Aндрей!Почитайте мою статью здесь на сайте О формах
 Там найдете практически все ответы.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 6 февраля 2009, 12:58
 
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 6 февраля 2009, 14:41; участников в обсуждении: 1. 
|   | Aндрей (статус: 1-ый класс), 6 февраля 2009, 14:41 [#1]:Оч. помогло. Правда, кидает пару ошибок, но думаю, что это из-за статических объектов, должен разобраться. Спасибо
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |