Есть цикл отправки запросов на сервер но если в ответе от сервера приходит капча нужно этот цикл приостановить до разгадывания капчи и продолжить цикл кнопкой отправки ответа капчиа как это реализовать?
Я не понел что капча в другом потоке разгадывается? Или вообще в асинхронном режиме? да в любом ЯПе можно вызывать коллбеки же...
Почему бы и нет, была у меня подобная задача, там просто ставилась каптча в очередь и другой поток их разгадывал, остальные ждали когда их каптча разгадается, коллбеки здесь не подойдут, т.к. нужно цикл приостановить. Если я понял суть задачи.
Ну тут смешение асинхронного и синхронного режимов налицо. тут ты прав - переписать все под асинхронный режим на коллбеках ТС точно не осилит тогда, примерно это можно описать так: while (captchacode == "") { Sleep(1000); } а разгадывающий поток при разгадывании вызывает как раз таки коллбек, где устанавливает captchacode
WaitForSingleObject юзай. Передай дескриптор потока и цикл приостановится до тех пор, пока поток не разгадает капчу или не умрет.
Вот я сделал отображение капчи в дополнительном потоке если в ответе капча то этот поток запускается как дальше хз
Теперь как сделать что если поток запущен чтобы цикл приостанавливался а кнопкой отправки ответа капчи продолжался
например тут Edit поле для ввода капчи и капча состоит из 5 символов тогда пишем так while(true) { Sleep(50); if(strlen(Edit->Text.c_str()) > 4) break; }
Дык запросы на твой сервер в отдельном потоке идут и капча в отдельном потоке разгадывается? Как у тебя вообще код работает?
Пока некак сачс вручную хотелосьбы цикл ваобще идут запросы до появления капчи если капча то запускается дополнительный поток в котором эта капча отображается
так делай в одном потоке,зачем в отдельном капчу показывать? и сделай в цикле слип,пока кнопка не нажата.