Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

закрытие программы 


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, они могут оставаться, встречался я с этим. Здесь решение одно - закрывайте все остальные формы, а потом - главную. Я делал так, когда нужно было закрыть клиента удалённо.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
3-94278           Malyatko              2002-04-08 12:48  2002.04.29  
Добавление в базу данных.


7-94592           argo                  2002-02-04 16:49  2002.04.29  
Файлы и папки


14-94552          drpass                2002-03-22 18:54  2002.04.29  
О тупости клиентов


1-94514           Upendra               2002-04-13 10:16  2002.04.29  
Есть небольшая проблема с запуском формы и потока из dll


4-94632           Эйнхерий              2002-02-26 10:51  2002.04.29  
Загвоздка при использовании WH_KEYHOOK и передачи параметров в главное приложение.