![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие проги после закрытия ПОСЛЕДНЕГО окна? [D6]
IDL © (2002-04-24 12:54:00)В проге при закрытии главной ( первой созданной) формы, программа завершается. А как сделать, чтобы она завершалась только после закрытия всех окон?
Желательно не создавать для этого главное окно скрытым.
IDL (2002-04-24 16:04:00) [1]Вроде работает.
repeat
Sleep(50);
Application.processMessages;
until List.Count<=0;
Deus (2002-04-24 14:14:00) [2]2IDL (24.04.02 14:02):
В dpr делаешь счётчик кол-ва форм. При уничожении формы этот счётчик умешьшается на 1 и проверяется на =0.
2PaRL © (24.04.02 14:06):
Это как?
PaRL (2002-04-24 14:06:00) [3]Или можно просто сделать главной форму другую при обработке Close...
IDL (2002-04-24 14:02:00) [4]Anatoly Podgoretsky
Да, я именно о формах и говорил.
CanClose не подходит - форма должна закрываться, раз ее просят :) но есть же и остальные, которые закрывать не надо.
Deus
У меня есть список всех форм в TList, можно попробовать и в цикле, но циклы = загрузке процессора :( Хотя может и нет - попробую.
Deus (2002-04-24 13:54:00) [5]Ещё вариант: не делать главной формы.
т.е. в .dpr убрать application.run, а вставить цикл обработки сообщений.
И соответственно проверять на nil все формы....
Anatoly Podgoretsky (2002-04-24 13:00:00) [6]В событии OnCloseQuery ставишь CanClose := FALSE если есть хоть одна открытая форма, надеюсь ты именно о формах говоришь, а не об окнах, иначе твоя задача трудно разрешима.
Song (2002-04-24 12:58:00) [7]Никак. После закрытия главной приложение будет всегда закрываться.
Вариант - скрывать главную форму и высвечивать все остальные.
TApplication.ShowMainForm