|
Вопрос # 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]:
Оч. помогло. Правда, кидает пару ошибок, но думаю, что это из-за статических объектов, должен разобраться.
Спасибо
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|