Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

Закрытие всех форм приложения   Найти похожие ветки 

 
volser   (2004-01-11 00:48) [0]

Как можно закрыть все формы приложения?
Вызывая при этом метод Close.


 
Jenaxx ©   (2004-01-11 02:22) [1]

Сэр вы шутник, это первая команда в любой книге по программированию.Что лень серьезная преграда?


 
VMcL ©   (2004-01-11 04:04) [2]

>> volser (11.01.04 00:48)

Ну просто смешной код, блин.

var
I: Integer;
begin
for I := 0 to Screen.FormCount - 1 do
begin
Screen.Forms[I].Close;
end;
end;


 
Думкин ©   (2004-01-11 09:01) [3]

> [2] VMcL © (11.01.04 04:04)

Я бы все таки цикл повернул на убывание.


 
KSergey ©   (2004-01-11 12:47) [4]

А может и вовсе в цикле не I надо, а всегда 0... Но не уверен, пробовать надо
Хотя с другой стороны, если форма сама при Close не уничтожается - то индексы, конечно, менять надо...


 
AMogil ©   (2004-01-11 13:43) [5]

Наверно вернее всего:


while Screen.FormCount > 0 do
begin
Screen.Forms[0].Close;
Application.ProcessMessages;
end;


 
KSergey ©   (2004-01-11 13:59) [6]

> [5] AMogil © (11.01.04 13:43)
> Наверно вернее всего:

Это почему? При закрытии форма не обязательно уничтожается вообще-то...


 
chudaks ©   (2004-01-11 14:18) [7]

Что именно нужно просто закрыть или уничтожить?
Если закрыть не уничтожая форму то тратитьтся ресурс.
лучше использовать процедурку FREE.
Если хочешь закрыть все приложение закрывая при этом и формы можно воспользоваться Application.Terminate.


 
Думкин ©   (2004-01-11 15:13) [8]

Если мы закроем ВСЕ формы, то закроем и главную - соответственно и приложение может окончиться(в стандартном развитии).

> [6] KSergey © (11.01.04 13:59)
Не обязательно - но вполне возможно.


 
Anatoly Podgoretsky ©   (2004-01-11 15:25) [9]

Application.MainForm.Close;


 
AMogil ©   (2004-01-11 16:21) [10]

KSergey © (11.01.04 13:59) [6]
>Это почему? При закрытии форма не обязательно уничтожается >вообще-то...

Да, но необходмо полностью обработать все события, которые получила форма.


 
AMogil ©   (2004-01-11 16:31) [11]

С учет сказанного Думкин © (11.01.04 15:13) [8] наверное обудет:


while Screen.FormCount > 0 do
if Screen.Forms[0]<>Application.MainForm then
begin
Screen.Forms[0].Close;
Application.ProcessMessages;
end;


Anatoly Podgoretsky © (11.01.04 15:25) [9]
>Application.MainForm.Close;
Он просил закрыть все формы (а не спросил "как закрыть приложение?"), поэтому наверно ему нужно закрыть все кроме главной.

Хотя пора бы призвать volser к ответу - что же он хочет?


 
Anatoly Podgoretsky ©   (2004-01-11 17:06) [12]

AMogil © (11.01.04 16:31) [11]
Это твоя вольная интерпритация, а в вопросе одназначно сказано закрыть все формы приложения


 
AMogil ©   (2004-01-11 17:58) [13]

Anatoly Podgoretsky © (11.01.04 17:06) [12]
>Это твоя вольная интерпритация, а в вопросе одназначно сказано закрыть все формы приложения

Согласен. Но какой в этом смысл? Тут ты либо закрываешь приложение, либо закрываешь все окна кроме главного.


 
Anatoly Podgoretsky ©   (2004-01-11 18:00) [14]

Наверно он находится в форме Х и не хочет закрывать все формы по очереди.



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

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
14-72931
Minin
2003-12-31 14:30
2004.01.23
Скажите адрес какого-нибудь анонимайзера -2


3-72646
Irmantukas
2003-12-27 15:13
2004.01.23
Сумирование


3-72682
Olivka
2003-12-24 15:22
2004.01.23
fastReport в отчете вместо null-ов нули выдает


1-72811
senya
2004-01-12 18:58
2004.01.23
Масштаб для TImage


11-72696
SPeller
2003-05-08 05:21
2004.01.23
Хорошая работа