Вниз
Скачать: CL | DM;

Как правильно завершить работу приложения.   Найти похожие ветки 

 
Guitar ©   (2004-12-23 11:35) [0]

Если приложение состоит из нескольких форм. И в конце работы используется одна из дочерних форм. Родительская спрятана
form1.Hide;

То как правильно завершить работу всего приложения?


 
Александр Иванов ©   (2004-12-23 11:37) [1]

Закрыть главнуцю форму.

Form1.Close;


 
Jay1982 ©   (2004-12-23 11:41) [2]

Application.Terminate


 
Guitar ©   (2004-12-23 12:02) [3]

Я тоже так думал.
Я делаю эти команды на событие

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 код пишу? На какое событие правильно писать?


 
Guitar ©   (2004-12-23 12:05) [4]

Прошу прощения, я в коде, что выше, ошибку допустил. Правильнее

procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;


Вопрос остался.


 
Плохиш ©   (2004-12-23 12:06) [5]


>Может я не на то событие Form2 код пишу? На какое событие правильно писать?

Интересно, а на какое событие Form2 ты код пишешь?
OnClose, OnCloseQuery.


 
Александр Иванов ©   (2004-12-23 12:10) [6]

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Close;
end;


 
Guitar ©   (2004-12-23 12:37) [7]

4 Александр Иванов
Вы правильно написали. Если не сложно скажите какое событие наступает раньше close или destroy. И в чём суть каждого? Чем они отличаются? В чём конкретно моя ошибка, что я не понял?

4 Плохиш
я писал
procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;


 
Guitar ©   (2004-12-23 12:37) [8]

4 Александр Иванов
Вы правильно написали. Если не сложно скажите какое событие наступает раньше close или destroy. И в чём суть каждого? Чем они отличаются? В чём конкретно моя ошибка, что я не понял?

4 Плохиш
я писал
procedure TForm2.FormDestroy(Sender: TObject);
begin
form1.close;
end;


 
Jay1982 ©   (2004-12-23 12:48) [9]

Напиши Halt



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
1-1103620841
Cosinus
2004-12-21 12:20
2005.01.09
Assigned & Dispose. Что не так?


6-1098334391
_Maniac_
2004-10-21 08:53
2005.01.09
Каскад прокси


4-1101359324
Sik
2004-11-25 08:08
2005.01.09
Контейнер ключей в Крипто-Про


8-1096883406
rus9
2004-10-04 13:50
2005.01.09
Переместить линию по канве


3-1102352248
Сергей_26
2004-12-06 19:57
2005.01.09
Вставка картинки в graphic поле таблици




   Наверх