![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как реализовать закрытие многопоточного приложения ?
juice © (2005-05-20 15:52:00)Есть главная форма из которой запускается поток, причем его функция состоит из одной строчки:
IBQuery.Open();
Вешаю на главную форму кнопку "Close", пишу ее обработчик:
if QueryThread = nill then QueryThread.Free();
Close();
Пробовал вместо QueryThread.Free() подставлять QueryThread.Terminate().
Эффект один - при нажатии на кнопку форма закрывается но приложение висит, это заметно по таскбару например. Почему Terminate не работает это понятно - я в потоковой функции должен сам обрабатывать св-во потока terminated, однако как видите возможности для этого нет никакой. Т.о. окончательный вопрос : как из одного потока грубо убить другой без его согласия ? И почему тут не работает free?
VMcL (2005-05-20 15:59:00) [1]>> juice © (20.05.05 15:52)
> Т.о. окончательный вопрос : как из одного потока грубо убить другой без его согласия ?
TerminateThread
Ega23 (2005-05-20 15:57:00) [2]if QueryThread = nill then QueryThread.Free();
Может, всё-таки <> ? :о)