![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно завершить работу приложения. [D5, Win2k]
Guitar © (2004-12-23 11:35:00)Если приложение состоит из нескольких форм. И в конце работы используется одна из дочерних форм. Родительская спрятана
form1.Hide;
То как правильно завершить работу всего приложения?
Jay1982 (2004-12-23 12:48:00) [1]Напиши Halt
Guitar (2004-12-23 12:37:00) [2]4 Александр Иванов
Вы правильно написали. Если не сложно скажите какое событие наступает раньше close или destroy. И в чём суть каждого? Чем они отличаются? В чём конкретно моя ошибка, что я не понял?
4 Плохиш
я писал
procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;
Guitar (2004-12-23 12:37:00) [3]4 Александр Иванов
Вы правильно написали. Если не сложно скажите какое событие наступает раньше close или destroy. И в чём суть каждого? Чем они отличаются? В чём конкретно моя ошибка, что я не понял?
4 Плохиш
я писал
procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;
Александр Иванов (2004-12-23 12:10:00) [4]procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Close;
end;
Плохиш (2004-12-23 12:06:00) [5]
>Может я не на то событие Form2 код пишу? На какое событие правильно писать?
Интересно, а на какое событие Form2 ты код пишешь?
OnClose, OnCloseQuery.
Guitar (2004-12-23 12:05:00) [6]Прошу прощения, я в коде, что выше, ошибку допустил. Правильнее
procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;
Вопрос остался.
Guitar (2004-12-23 12:02:00) [7]Я тоже так думал.
Я делаю эти команды на событие
procedure TForm1.FormDestroy(Sender: TObject);
begin
form1.close;
end;
И без разницы что писать
application.Terminate;
form1.destroy;
form1.close;
В итоге приложение не выходит. А просто Form2 исчезает и Delphi виснет. Дело в следующем. Так как я сделал Form1.hide то её просто не видно. И поэтому виснет. Когда я убрал из кода Form1.hide , то при закрытии Form2 появляется Form1 и её я вручную закрываю. Только в этом случае всё приложение выходит корректно.
А мне то нужно, чтобы первой формы видно не было. Поэтому делаю Form1.hide.
И вот не знаю как правильно завершить всё приложение. (((
Может я не на то событие Form2 код пишу? На какое событие правильно писать?
Jay1982 (2004-12-23 11:41:00) [8]Application.Terminate
Александр Иванов (2004-12-23 11:37:00) [9]Закрыть главнуцю форму.
Form1.Close;