|
Тема |
Много странен Threrad проблем |
|
Автор | цвeтaлин (Нерегистриран) | |
Публикувано | 01.06.06 11:02 |
|
|
CBuilder 1.0
Windows XP with SP2
Писах едно малко приложенийце за четене на данни то COM-1. Данните се четат в Thread и се визуализират на екранчето. Всичко си върви ОК. По някое време обаче главната програма иска да спре Thread-a и да си прочете тя данни. Terminate-вам си Thread-a, чета си данните и после пак го пускам. Всичко е ОК.
Нося програмата на компутер с Win98 и програмата си върви. Т.е., данните се четат. В момента, в който се Terminate-не Thread-а, всичко отива по дяволите, т.е., не мога да прочета данни и йавно не стартира отново Thread-a.
Вземам компютъра, качвам му CBuilder, преправям малко, като вместо Terminate() слагам Suspend() и после Resume(). Нещата се оправят. Качвам програмата на XP и се получава предния проблем, т.е., програмата си върви, четат се данни, визуализират се. В момента, в който кажа Suspend(), успявам да прочета данните от главната програма, но после след Resume() не се получава нищо.
Е, въпросът е защо така. Защо под XP работи Terminate() и после new, а не работи под 98. И защо в 98 работи Suspend() - Resume() a в ХР не работи.
|
| |
|
|
|