Название: [РЕШЕНО] QNetworkAccessManager и QThread не дружат Отправлено: AlekseyK от Октябрь 26, 2010, 01:22 Знаю, что эта тема всем уже набила оскомину, но может найдутся добрые люди, которые поставят в ней точку?! ;)
В общем есть гипотетическая задача запустить QNetworkAccessManager из отдельного потока, хотя это не обязательно и в отдельном потоке можно запустить только QNetworkReply. Пример рабочего приложения прилагается, см. cadvertise.cpp и cadvertise.h. Ошибка вываливается, если закрыть программу во время загрузки страницы (см. httpFinished). Всякие трюки типа: Код не помогают. Ошибка вываливается на - Код
Если подождать пока страница полностью загрузится - ошибка не возникает: Цитировать ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 3d6730. Receiver '' (of type 'QNativeSocketEngine') was created in thread b6c1968", file kernel\qcoreapplication.cpp, line 349 QWaitCondition: Destroyed while threads are still waiting Хочется выяснить - мой ли это баг: я не дочитал документацию по Qt? Или это баг Qt - люди поместили в июле и сентябре: http://bugreports.qt.nokia.com/browse/QTBUG-12302 http://bugreports.qt.nokia.com/browse/QTBUG-13574?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel ??? Название: Re: QNetworkAccessManager и QThread не дружат Отправлено: ufna от Октябрь 27, 2010, 12:38 http://www.prog.org.ru/index.php?topic=15397.msg102111#msg102111
Название: [РЕШЕНО] QNetworkAccessManager и QThread не дружат Отправлено: AlekseyK от Октябрь 27, 2010, 14:38 Решение здесь: http://www.prog.org.ru/index.php?topic=15397.msg102130#msg102130
Рабочий вариант программы, если кому нужно, прилагается. |