![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
создание форм
sergeyst © (2006-12-04 09:50:00)Доброго времени суток всем.
Есть MDI chld форма Form1 (ТChildForm), затем динамически создается
Form2 (TChildForm), но не как дочерняя, а модальная. После закрытия Form2 указатель Form1 = nil. Создал новый класс
type
TChildForm2 = class(TChildForm);
Form2 := TChildForm2.Create (Application);
история та же. Почему?
Max Zyuzin (2006-12-04 10:58:00) [1]>Сергей М. © (04.12.06 10:53) [9]
.. то это уже не дочерняя форма)
Зато выглядит... как живая :-)
Сергей М. (2006-12-04 10:53:00) [2]
> Max Zyuzin © (04.12.06 10:52) [8]
> если после создания сказать ей что она теперь fsNormal
.. то это уже недочерняя форма)
Max Zyuzin (2006-12-04 10:52:00) [3]>Сергей М. © (04.12.06 10:36) [7]
Мона... если после создания сказать ей что она теперь fsNormal потом скрыть ее и потом сделать ShowModal... она правда немного поморгает, зато потом откроется модально.
Сергей М. (2006-12-04 10:36:00) [4]
> не как дочерняя, а модальная
Это как ?
Если FormStyle = fsMDIChild, то хоть из штанов выпрыгни, а визуализировать такую форму модальноне удастся
ЮЮ (2006-12-04 10:25:00) [5]
> (т.е. классов дочерних форм несколько).
Ну если только по одному экземпляру каждого класса - тогда ладно. Но МDI интефейс, обычно, предполагает несколько экземпляров одного класса. И, соответственно, через одну переменную к ним не добраться.
> А как мне к ней обращаться
Зачем?
sergeyst (2006-12-04 10:19:00) [6]Max Zyuzin © (04.12.06 10:03) [1]
Ой, спасибо. Чего-то я об этом не подумал.
sergeyst (2006-12-04 10:17:00) [7]ЮЮ
А как мне к ней обращаться, если не будет переменной? Дочерняя форма не одна (т.е. классов дочерних форм несколько).
sergeyst (2006-12-04 10:14:00) [8]Блин, вижу только свой вопрос, а ответы - нет. Что за глюк?
ЮЮ (2006-12-04 10:05:00) [9]
> После закрытия Form2 указатель Form1 = nil.
Чего нет даже для убитой Form2 :)
Использование глобальных переменных (Form1) для MDI chld форм - путь к ошибкам. Убей Form1 - и будет тебе счастье.
Для модальных глобальная Form2 тоже лишняя. Убей и её и куча лишних переживаний пропадёт.
Max Zyuzin (2006-12-04 10:03:00) [10]procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction)
Можно посмотреть?