| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Обращение к потоку из VCL |
| Автор: neweraser 15.6.2012, 09:10 | ||
| Здравствуйте! Существует несколько копий потока TThread с разными входными данными. Как обратиться к одному из них, чтобы изменить данные (зная, что в этот момент он находится в suspend), или хотя бы просто запустить его. Возможно ли такое? Возможно, что-то не так сформулировал, если что - поправлю. Код приводить не буду, т.к. там и так путанница, да и думаю он тут не нужен. Мне интересен сам процесс, как это сделать. ps.
|
| Автор: CynicRus 15.6.2012, 10:00 |
| Э....А зачем? Думается мне, можно завершить отработавший поток, а затем просто создать новый с новыми данными... |
| Автор: neweraser 15.6.2012, 10:07 |
| Можно и так, просто у меня на этот поток отдельный unit, и я хотел набить его по максимуму, передавать параметры и по ним выполнять определенные процедуры, вот такое вот глупое извращение |
| Автор: CynicRus 15.6.2012, 10:17 |
| А вообще к потоку можно обратиться через PostThreadMessage. |
| Автор: neweraser 15.6.2012, 10:37 |
| Можно пример? Если у меня несколько копий потока, как вернуть хэндл нужного мне и обратиться к нему? |
| Автор: CynicRus 15.6.2012, 11:32 |
| Пробежаться по массиву потоков и проверить его состояние. Если приостановлен - значит тот что нужен. Если я правильно понял критерий "нужности". |
| Автор: MetalFan 15.6.2012, 18:09 |
| А вообще вызывать suspend потока считается моветоном... Надо использовать объекты синхронизации и функции ожидания... |