Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие проги после закрытия ПОСЛЕДНЕГО окна? [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо