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

Вниз

закрытие программы   Найти похожие ветки 

 
ymin ©   (2002-04-17 17:36) [0]

Как сделать, чтобы при нажатии на x в правом верхнем углу какой-нибудь формы проекта, закрыть всю программу?


 
-=CrazyFish=- ©   (2002-04-17 17:50) [1]

Application.Terminate;
а можно
Halt;


 
Song ©   (2002-04-17 17:58) [2]

2-=CrazyFish=- © (17.04.02 17:50)
Я Вам дам "halt"!

2ymin © (17.04.02 17:36)
MainForm.Close или WM_CLOSE,WM_QUIT


 
-=CrazyFish=- ©   (2002-04-17 18:05) [3]

Кто скажет, что Halt не завершит работу приложения пусть первый бросит в меня камень ;)


 
Song ©   (2002-04-17 18:09) [4]

Halt завершает работу, но не уничтожает ни одного созданного объекта, передавая эту задачу на командный процессор. Если Вы используете такие методы, то хотя бы не советуйте другим.


 
Андрей Сенченко ©   (2002-04-17 18:24) [5]

>> Song © (17.04.02 18:09)

Ответ Безумной Рыбы - конечно не ответ Мудрого Оленя ...
Но полностью соответствует ответу.

Кстати.. интересный вопрос возникает : MainForm.Close освободит ли ВСЮ память и уничтожит ли ВСЕ объекты ?


 
Song ©   (2002-04-17 18:30) [6]

MainForm.Close освобождает все автоматически созданные объекты. Те объекты, которые создали Вы, Вы и должны удалить. Если Вы это забыли сделать, за Вас это сделает система.
Если быть точным то MainForm.Close вызывает Application.Terminate но не Halt!!!! Terminate же генерирует PostQuitMessage с кодом 0. А это уже функция АПИ.


 
Андрей Сенченко ©   (2002-04-17 18:33) [7]

Я например совсем по-другому поступил бы : открывал бы модальной ту форму, с закрытия которой по "х в углу" нужно гасить программу. А по нужному ModalResult - повесил бы процедурку закрытия, которая спокойно погасит все созданные объекты и процессы и закроет программку, предварительно спроси о такой необходимости.


 
Agent Smith ©   (2002-04-17 18:56) [8]

Можно так: обрабатываем событие возможности закрытие формы и в нем прописываем закрытие осталбных окон.


 
kull ©   (2002-04-17 23:24) [9]

Да чего вымахиваться, Song прав: MainForm.Close, и неча мудрить,
Halt-ы какие-то. Вы еще Windows перезапустите, чтоб неповадно было окна закрывать. :)


 
Song ©   (2002-04-18 08:33) [10]

Тока не забывайте, что могут быть открыты другие формы.. Иногда если закрыть MainForm, они могут оставаться, встречался я с этим. Здесь решение одно - закрывайте все остальные формы, а потом - главную. Я делал так, когда нужно было закрыть клиента удалённо.



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
3-94344
PoweR
2002-04-10 10:17
2002.04.29
Помогите определиться


3-94343
VladimirKVT
2002-04-10 10:04
2002.04.29
Lookup в RxDBGrid


1-94468
Sasha9
2002-04-16 12:21
2002.04.29
Бит из байта


14-94575
Mystic
2002-03-21 16:14
2002.04.29
Было плохое настроение, попробовал поострить...


14-94574
False
2002-03-20 12:28
2002.04.29
Какое расширение имееи Oracle?