Форум: "Основная";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
ВнизЗакрытие всех форм приложения Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c