![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Раньше вроде Close; работало - сейчас что-то перестало.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
основной форме Close или где угодно Application.Terminate
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
![]()
Еще можна написать EхitРrосеss(0);
или отправить програме сообщение шоб закрылась SеndМеssаgе(Аррliсаtiоn.Наndlе, WM_СLОSЕ, 0, 0);
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
ExitProcess, будучи функцией WinApi, не вызывает finalization модулей, вместо него лучше halt(0).
|
![]() |
![]() |
![]() |
#5 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
Попробуйте писать так: Form1.Close ... ![]()
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.08.2019
Сообщений: 18
|
![]()
Действительно какой-то бардак.
Мне нужно закрыть приложение, если определенная папка уже существует Код:
Пробовал все функции по отдельности и все вместе. Приложение закрывается после выполнения вызывающей процедуры. А нужно немедленно. Как можно решить эту проблему? Что нужно включить в предложение uses, чтобы функция EхitРrосеss распознавалась? С уважением, Николай |
![]() |
![]() |
![]() |
#8 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Регулярная процедура procedure CheckAndCreateFolder() ничего не знает и не может знать ни о каких формах включая главную. Также она не может ничего знать о любых глобальных переменных объявленных в любом модуле проекта.
Если вам достаточно простого совета без объяснений, уберите из приведенного кода строки Код:
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 14.08.2019
Сообщений: 18
|
![]()
В вопросе у меня есть строка "Пробовал все функции по отдельности и все вместе", и работают они одинаково: Сначала полностью выполняется код вызывающей процедуры, а затем программа закрывается без всяких дополнительных действий
Код:
Цитата:
Пока, если не будет найдено другого решения, я добавил глобальную переменную Bol:boolean. Если папка уже существует, то CheckAndCreateFolder устанавливает ее в true. В вызывающую процедуру, сразу после вызова CheckAndCreateFolde, добавил строку if Bol then exit. Теперь функции S_F.Close и Application.Terminate сразу закрывают приложение, а функция S_folder.Close - закрывает только модальную форму. Все, как и должно быть. Не люблю глобальные переменные, пытаюсь использовать их как можно меньше. Если есть другое решение, то подскажите. С уважением, Николай. |
|
![]() |
![]() |
![]() |
#10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как закрыть соединение с радио | Михаил Юрьевич | Общие вопросы 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 |