Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Олег2000про
-122 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 459
#1

Потоки: выход из приложения

01.05.2017, 21:51. Просмотров 190. Ответов 8
Метки нет (Все метки)

Необходимо создать поток(при старте приложения) который проверяет некие значения. и в случае не корректности данных завершить приложение прямо из потока. как сделать? Писал в потоке Halt, из приложения не выходило. Создал процедуру в потоке c кодом Halt и потом ее вызывал методом SynchRonize прямо из потока - так работает. Может есть другие способы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2017, 21:51
Ответы с готовыми решениями:

Выход из консольного приложения
Здравствуйте! Есть консольное приложение и процедура, в которой нужно...

Текстовый редактор. Выход с сохранением. Выход без сохранения.
привет! помогите, плиз: Создайте простейший текстовый редактор, в котором...

Как сделать выход из приложения по кнопке выход
Привет! Имеется 3 активити. А1 - запускается при запуске приложения(анимация)...

Выход из приложения
Доброго времени суток. Помогите решить такую проблему... Есть форма и на ней...

Выход из приложения
Здравствуйте. Возникла необходимость сохранять состояния игры при выходе из...

8
Пытливый
1379 / 690 / 249
Регистрация: 29.05.2013
Сообщений: 3,107
01.05.2017, 22:35 #2
Эк вы жестоко с ним, шаг влево, шаг вправо - Хальт! Хенде хох!
Terminated и Terminate предназначены для завершения потока.
0
Олег2000про
-122 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 459
01.05.2017, 23:34  [ТС] #3
Пытливый, мне нужно не поток завершить а само приложение из потока

Добавлено через 52 минуты
подскажите решение
0
qwertehok
2210 / 2199 / 599
Регистрация: 29.08.2013
Сообщений: 14,683
01.05.2017, 23:44 #4
потоку не нужно ничего завершать
поток должен возвращать ошибку или данные
а вы, как программист, эту ошибку анализировать и, если надо, завершать приложение
0
Олег2000про
-122 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 459
02.05.2017, 00:23  [ТС] #5
подскажите как сделать что бы поток смог что то возвращать?
0
qwertehok
2210 / 2199 / 599
Регистрация: 29.08.2013
Сообщений: 14,683
02.05.2017, 01:50 #6
подумать головой
ты сам поток создаешь, сам в него данные пишешь, а назад получить не получается?
0
krapotkin
3397 / 3009 / 1042
Регистрация: 14.04.2014
Сообщений: 14,588
Записей в блоге: 15
02.05.2017, 05:38 #7
Повтор string
у потока есть куда прийти умирать!
вот в этом месте и сделать
Application.Terminate
но, не зная структуры приложения, гарантировать, что это сработает в вашем случае, нельзя
0
Олег2000про
-122 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 459
02.05.2017, 07:56  [ТС] #8
krapotkin, а что можно написать в процедуре
Delphi
1
2
3
4
5
6
procedure TForm1.MyThreadTerminateHandler(Sender:TObject);
var t:TMyThread;
begin
 t:=Sender as TMyThread;
 t - это наш объект по окончании работы. Все его поля доступны. Синхронизация не нужна
end;
что бы поток правильно завершился и вышло с приложения? Ну выйти с приложения я то знаю а вот первое нет
0
krapotkin
3397 / 3009 / 1042
Регистрация: 14.04.2014
Сообщений: 14,588
Записей в блоге: 15
02.05.2017, 08:04 #9
Application.Terminate
всё

при условии что в приложении не открыто всяких там модальных окон
и/или оно не будет спрашивать при OnClose главной формы "а вы правда хотите выйти?"
0
02.05.2017, 08:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2017, 08:04

Выход из приложения
У меня в меню есть кнопка Файл->Выход. Все перелопатила, не могу найти нигде,...

Выход из приложения
Здравствуйте, снова я с тупыми вопросами по winapi. Пытаюсь сделать некое...

Потоки и COM приложения
Господа Программисты! Делаю приложение с дополнительным потоком. Возникает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru