Страница 1 из 1
Как проверить "созданность объекта"?
Добавлено: 27 апр 2004, 22:53
GOS
Создаю экземпляр класса
form1:=TForm1.Create(MainForm);
как проверить не был ли он закрыт?
как развернуть минимизиованную дочернюю форму?
(работаю с MDI по нажатию на конопку нужно проверить создана или нет данная форма и если созданна то её надо развернуть)
Добавлено: 27 апр 2004, 23:39
AiK
GOS, чем тебя не устраивает сравнение с nil?
Добавлено: 28 апр 2004, 09:35
GOS
Получается вот что...
if FORM<>nil then
при первом создании работает, а вто если звкрыть окно(Action:=caFree) .Close , то при повторной проверке получаем <>nil.
Или я что-то не понимаю....
Добавлено: 28 апр 2004, 13:00
AiK
(Action:=caFree) .Close
Вот эту строку не понял.
Добавлено: 28 апр 2004, 13:26
GOS
извини за краткость

))
В обработчике OnClose прописано Action:=caFree;
Ну собственно говоря .Close закрытие этого окошка...
Но с этим немного разобрался... надо написать :=caNone
и вызвать ShowWindow(..., SW_HIDE)...
Оказалось что это заморочки с Z-индексом окон...
Добавлено: 23 май 2004, 01:35
Naeel Maqsudov
Я поступаю так (два случая)
1 Либо данная форма в риложении никогда не разрушается а только прячется
2 либо форма разрушается всегда и создается всегда, причем при разрещении ссылка принудительно устанавливается в nil
В частносли можно и так: в TForm2.OnClose
Form2:=nil;
Action:=caFree;
Т.е. обеспечьте при разрушении объекта однозначное уничтожение ссылки.
Добавлено: 25 май 2004, 12:09
GOS
Спасибо, понял!