Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Как реализовать закрытие многопоточного приложения ?   Найти похожие ветки 

 
juice ©   (2005-05-20 15:52) [0]

Есть главная форма из которой запускается поток, причем его функция состоит из одной строчки:

 IBQuery.Open();

Вешаю на главную форму кнопку "Close", пишу ее обработчик:

if QueryThread = nill then QueryThread.Free();
 Close();

Пробовал вместо QueryThread.Free() подставлять QueryThread.Terminate().
Эффект один - при нажатии на кнопку форма закрывается но приложение висит, это заметно по таскбару например. Почему Terminate не работает это понятно - я в потоковой функции должен сам обрабатывать св-во потока terminated, однако как видите возможности для этого нет никакой. Т.о. окончательный вопрос : как из одного потока грубо убить другой без его согласия ? И почему тут не работает free?


 
Ega23 ©   (2005-05-20 15:57) [1]

if QueryThread = nill then QueryThread.Free();

Может, всё-таки <> ?   :о)


 
VMcL ©   (2005-05-20 15:59) [2]

>>juice ©   (20.05.05 15:52)

> Т.о. окончательный вопрос : как из одного потока грубо убить другой без его согласия ?

TerminateThread



Страницы: 1 вся ветка

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1116560429
A
2005-05-20 07:40
2005.06.06
.lib + Delphi


1-1116605397
Mr-jack
2005-05-20 20:09
2005.06.06
координаты клика по форме...


1-1116571661
Stef
2005-05-20 10:47
2005.06.06
Шрифты в Windows


5-1087272276
Sun bittern
2004-06-15 08:04
2005.06.06
Проблема с событием OnPaint :(


1-1116924981
Ega23
2005-05-24 12:56
2005.06.06
указатель на позицию курсора DataSet