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

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

Как закрыть все окна приложения? [D6, WinXP]


Страницы:   1 2

Mars ©   (2005-05-31 11:22:00) 

Может сообщение какое есть?


Anatoly Podgoretsky   (2005-05-31 14:56:00) [1]

Вообще то приложение четко знает сколько у него создано форм. Насчет окон конечно не знает.


KilkennyCat   (2005-05-31 14:34:00) [2]

В общем, смысл следующий: приложение вообще не знает сколько у него окон. Безответственное приложение :)


Юрий Зотов   (2005-05-31 14:31:00) [3]

> and(Application.Components[n].Name <> 'ОСНОВНАЯ_ФОРМА')

Это шедевр.


Digitman   (2005-05-31 14:16:00) [4]


> Mars   (31.05.05 14:13) [20]


объект-компонент-форма не обязан иметь владельцем объект Application


Mars   (2005-05-31 14:13:00) [5]

ну че вы с пустого в порожнее переливаете?
все получилось!

хотите обсудить, вот вам процедура:

for n:=0 to Application.ComponentCount-1
do begin
   if (Application.Components[n] is TForm)
   and(Application.Components[n].Name <> 'ОСНОВНАЯ_ФОРМА')
   and((Application.Components[n] as TForm).Visible)
   then (Application.Components[n] as TForm).Close;
  end;


Digitman   (2005-05-31 14:03:00) [6]


> злобная танька   (31.05.05 13:59) [17]


в том что главное окно создается объектом Application еще ДО создания главной формы (если она вообще есть), это окно невизуальное, не имеет никакого отношения к главной форме и создается всегдав ходе создания объекта Application (при IsLibrary = False), ВНЕ зависимости от того, есть ли хотя бы одна форма в приложении или нет ни одной.


Anatoly Podgoretsky   (2005-05-31 13:59:00) [7]

Вообще то автор просил все окна приложения, это включает в себя и главное окно приложения.


злобная танька   (2005-05-31 13:59:00) [8]


> Digitman ©   (31.05.05 13:51) [16]

гм, я вот тоже не вижу. наверное поэтому мы поняли друг друга. а в чем она, разница-то?


Digitman   (2005-05-31 13:51:00) [9]


> злобная танька   (31.05.05 12:57) [11]
> я вас не вполне понимаю, но как просил автор


автор просил "чтобы осталось только главное окно" (см.[5])

MainForm же не есть "главное окно".

а то что автор не видит разницы между "главным окном приложения" и "основной формой" - это его личная драма)


Просто Джо   (2005-05-31 13:39:00) [10]


> [14] KilkennyCat ©   (31.05.05 13:27)
> а у меня пишет, что MainForm несуществует :(

Уметь надо (ц) :))


KilkennyCat   (2005-05-31 13:27:00) [11]

а у меня пишет, что MainForm несуществует :(


злобная танька   (2005-05-31 13:03:00) [12]

пожабо! :D


Mars   (2005-05-31 12:58:00) [13]

>>злобная танька   (31.05.05 12:48) [7]
>>прогони в цикле Application.Components.
>>Если is TForm и <> MainForm тады закрывай!

Спасибо! Получилось.


злобная танька   (2005-05-31 12:57:00) [14]

> Digitman ©   (31.05.05 12:50) [9]
я вас не вполне понимаю, но как просил автор,

> надо чтобы
> главная форма осталась


вот я и тово..


Anatoly Podgoretsky   (2005-05-31 12:54:00) [15]

Mars   (31.05.05 11:45) [3]
Что просил, то и получил. Отсюда вывод просить нужно только нужное.


Digitman   (2005-05-31 12:50:00) [16]


> злобная танька   (31.05.05 12:48) [7]
> и <> MainForm


и чем MainForm провинилась ?
она что, не имеет окна по-твоему ?


Digitman   (2005-05-31 12:49:00) [17]


> чтобы осталось только главное окно


как только найдешь четкое определение "главного окна" - сразу все вопросы отпадут


злобная танька   (2005-05-31 12:48:00) [18]

прогони в цикле Application.Components.
Если is TForm и <> MainForm тады закрывай!


Игорь Шевченко   (2005-05-31 12:43:00) [19]


> Так есть какое нибудь сообщение для этих целей,
> чтобы осталось только главное окно?


Нету.


Mars   (2005-05-31 12:40:00) [20]

>>Игорь Шевченко
...так ведь спрашивал, как закрыть окна, а не приложние

Так есть какое нибудь сообщение для этих целей,
чтобы осталось только главное окно?


Страницы:   1 2

Наверх

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