Форум программистов, компьютерный форум CyberForum.ru

поток, завершение выполнения программы - C++

Восстановить пароль Регистрация
 
fawr
2 / 2 / 0
Регистрация: 20.12.2009
Сообщений: 45
27.09.2012, 15:47     поток, завершение выполнения программы #1
В билдере стартую программу. Автоматом запускаю поток. t это объект класса tm, который наследуется от TThread. При достижении условия процессе соскакивает на функцию, в которой пытаюсь всё закрыть, остановить - повисает на попытке, остановить/удалить t и ничего не происходит при клосе формы и терминате приложения. Если forceclose на кнопке жать мышкой - всё как надо. А вот из функции не получается.
Код
void __fastcall tm::Execute()
{
	while(exec)
	{
		time--;
		if(time >= 0)
			Form1->N16->Caption = "Осталось: " + IntToStr(time);
		else
			exec = false;
                Sleep(1000);
	}
	Form1->forceclose();
}
void TForm1::forceclose()
{
	TerminateThread((void *)t->Handle,0);
	delete t;
	Application->Terminate();
	Form1->Close();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 15:47     поток, завершение выполнения программы
Посмотрите здесь:

C++ Аварийное завершение программы
Завершение выполнения программы в цикле C++
C++ завершение программы
Принудительное завершение программы C++
C++ Создание и завершение процессов и потоков. Приоритеты выполнения потоков
Завершение программы с кодом C++
C++ Аварийное завершение работы программы
C++ Неожиданное завершение программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru