|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.08.2009, 14:53 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как закрыть своё приложение???
Раньше вроде Close; работало - сейчас что-то перестало.
|
02.08.2009, 15:01 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
основной форме Close или где угодно Application.Terminate
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
02.08.2009, 15:32 | #3 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
Еще можна написать EхitРrосеss(0);
или отправить програме сообщение шоб закрылась SеndМеssаgе(Аррliсаtiоn.Наndlе, WM_СLОSЕ, 0, 0);
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
02.08.2009, 15:39 | #4 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
ExitProcess, будучи функцией WinApi, не вызывает finalization модулей, вместо него лучше halt(0).
|
03.08.2009, 06:45 | #5 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
Попробуйте писать так: Form1.Close ...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
03.08.2009, 09:32 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
30.08.2019, 19:19 | #7 |
Пользователь
Регистрация: 14.08.2019
Сообщений: 18
|
Действительно какой-то бардак.
Мне нужно закрыть приложение, если определенная папка уже существует Код:
Пробовал все функции по отдельности и все вместе. Приложение закрывается после выполнения вызывающей процедуры. А нужно немедленно. Как можно решить эту проблему? Что нужно включить в предложение uses, чтобы функция EхitРrосеss распознавалась? С уважением, Николай |
31.08.2019, 02:08 | #8 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
Регулярная процедура procedure CheckAndCreateFolder() ничего не знает и не может знать ни о каких формах включая главную. Также она не может ничего знать о любых глобальных переменных объявленных в любом модуле проекта.
Если вам достаточно простого совета без объяснений, уберите из приведенного кода строки Код:
|
31.08.2019, 10:30 | #9 | |
Пользователь
Регистрация: 14.08.2019
Сообщений: 18
|
В вопросе у меня есть строка "Пробовал все функции по отдельности и все вместе", и работают они одинаково: Сначала полностью выполняется код вызывающей процедуры, а затем программа закрывается без всяких дополнительных действий
Код:
Цитата:
Пока, если не будет найдено другого решения, я добавил глобальную переменную Bol:boolean. Если папка уже существует, то CheckAndCreateFolder устанавливает ее в true. В вызывающую процедуру, сразу после вызова CheckAndCreateFolde, добавил строку if Bol then exit. Теперь функции S_F.Close и Application.Terminate сразу закрывают приложение, а функция S_folder.Close - закрывает только модальную форму. Все, как и должно быть. Не люблю глобальные переменные, пытаюсь использовать их как можно меньше. Если есть другое решение, то подскажите. С уважением, Николай. |
|
01.09.2019, 02:36 | #10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как закрыть соединение с радио | Михаил Юрьевич | Общие вопросы Delphi | 0 | 03.04.2009 19:54 |
Закрыть чужое приложение | Михаил Юрьевич | Общие вопросы Delphi | 3 | 28.03.2009 21:26 |
Как изменить своё имя? | Манжосов Денис :) | О форуме и сайтах клуба | 11 | 22.07.2008 11:16 |
Своё окно в трее | Altera | Общие вопросы Delphi | 10 | 02.07.2008 10:17 |
как закрыть программу? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 20:22 |