Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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, они могут оставаться, встречался я с этим. Здесь решение одно - закрывайте все остальные формы, а потом - главную. Я делал так, когда нужно было закрыть клиента удалённо.



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

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

Наверх









Память: 0.84 MB
Время: 0.027 c
3-94302
pls
2002-04-08 11:22
2002.04.29
DLL или BPL?


1-94481
Керик
2002-04-16 04:54
2002.04.29
Где взять TZPHint?


14-94570
Почемучка
2002-03-20 12:33
2002.04.29
QReport в Delphi 5.0


1-94490
Satirus
2002-04-16 16:00
2002.04.29
Вопрос к разработчикам компонент


6-94531
knyaz17
2002-02-15 14:06
2002.04.29
Как можно отобразить список элементов в WebBrowser??





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский