Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Внизубийство и рождение потока Найти похожие ветки
← →
Andrey Voznesenskiy (2003-09-24 18:18) [0]По таймеру примерно стоит следующее:
{убийство и рождение потока}
TerminateThread(CommThread,0);
closehandle(CommThread);
WriteComm(chr($11)+chr($11)+chr($30)+chr($31)); CommThread := CreateThread(nil,1,@ReadComm,nil,0,ThreadID);
setthreadpriority(commthread,2);
F1,F1,F1!==== После 1700 запусков потока в W98 или 2100 в XP
CommThread и ThreadID всегда возвращает 0 ( т.е. не создает поток) И СООТВЕТСТВЕННО НИЧЕГО НЕ ПРИНИМАЕТ ИЗ COMa
Что ж делать???
(говорят что нужно выгружать из памяти поток)
← →
Polevi (2003-09-24 19:11) [1]Зачем постоянно убивать поток и создавать его заново ?
И если уж хочется так делать - завершай поток по человечески, TerminateThread крайний случай
← →
Suntechnic (2003-09-24 19:24) [2]Правильно тебе Polevi © советует. Незачем на каждый приём данных создавать/убивать поток, да ещё таким бесчеловечным образом. Создавай один поток и пробуждай его только тогда, когда есть чего читать из порта. Тут тебе может помочь ф-ция
WaitCommEvent
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.017 c