| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Как предусмотереть закрытие проекта |
| Автор: Marinka2300 8.5.2010, 21:31 |
| . Создать проект с тремя формами.Предусмотреть переход от одной формы к другой Form 1-> Form 2-> Form 3 c помощью соответствующих кнопок и делая предыдущую форму невидимой.Предусмотреть закрытие проекта при закрытии формы Form 3. Вот последний пункт вызвал затрудение, как Предусмотреть закрытие проекта при закрытии формы Form 3.? |
| Автор: dmnk158 8.5.2010, 21:47 | ||
|
| Автор: Artemon 8.5.2010, 21:55 |
| Далеко не лучший вариант закрывать приложение через terminate. Для корректного закрытия - нужно закрыть главную форму приложения. |
| Автор: Данкинг 8.5.2010, 22:01 |
А в чём могут быть глюки? Всегда так закрываю, и ничего отрицательного не замечал. |
| Автор: Marinka2300 8.5.2010, 22:05 |
| procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Application.Terminate; end; не работает выбивает ошибку undeclared identifier FormCloseQuery |
| Автор: Artemon 8.5.2010, 22:08 | ||
Например работают у тебя потоки или данные пишутся в БД/На CD и т.д. И тут ты бесцеремонно прирываешь программу, последствия будут неизвестны. Если закрывать через FormMain.Close(), то как положено вызовется событие закрытия, в котом можно провести подготовку к закрытию. |
| Автор: Marinka2300 9.5.2010, 10:09 |
| Спасибо огромное всем! |
| Автор: Данкинг 9.5.2010, 10:35 | ||||
Не может быть. Если только ты вручную это пропишешь - тогда конечно.
Это понятно, что в подобных случаях следует предусмотреть сохранение данных. Я имел в виду, в чём отличие именно Form.Close от Application.Terminate в общем случае. Добавлено через 29 секунд Уже получилось? Тогда молодец. |
| Автор: Artemon 11.5.2010, 21:31 |
| Почитал хэлп по этому поводу, как ни странно там наоборот рекомендуют закрывать через Terminate, также говорят что приложение сразу - не закрывается. |