Название: [РЕШЕНО] QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 15:03 Всем привет!
Есть несколько методов в классе. В одном создаётся запрос и посылается: Код: QNetworkRequest request; Далее сам slotReadyRead: Код: QNetworkReply *reply=qobject_cast<QNetworkReply*>(sender()); Примерно вот так. И что получается - если дисконнекты не поставил бы, то метод вызывается 2 раза. Но ладно, дисконнект помог. Проблема - Когда прогу запускаешь со включенной сетью - всё круто. Если сети не было, а метод вызываешь когда сеть появилась, то отрабатывает условие !mDocument.setContent(bytes), хотя в переменной XMLstring все данные на вид пришли. Что может быть не так? что стоит попробовать? Любые советы=) Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: _OLEGator_ от Январь 18, 2013, 15:12 Смотреть какие ошибки (errorMsg, errorLine, errorColumn) возвращает функция:
Код
Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 15:18 Смотреть какие ошибки (errorMsg, errorLine, errorColumn) возвращает функция: Код
Код:
Выдало: Цитировать status code: 200 Error XML 0x0 0x0 0x0 Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: _OLEGator_ от Январь 18, 2013, 15:19 + еще учить плюсы.
как минимум надо инициализировать и разыменовать указатели errorMsg, errorLine, errorColumn. Я удивлен, что этот код еще и не падает. Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 15:29 + еще учить плюсы. как минимум надо инициализировать и разыменовать указатели errorMsg, errorLine, errorColumn. Я удивлен, что этот код еще и не падает. Есть такое=) после питона каждый раз долго к сям привыкаю. Спасибо. Итого я имею Цитировать "unexpected end of file" И действительно, заметил, что xml неполный, резко обрывается: "...s>false<". Почему такое может быть? ведь при первом соединении с сетью всё нормально.35 491 Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: _OLEGator_ от Январь 18, 2013, 15:47 Наверняка пришли не все данные, а только их часть.
Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: Пантер от Январь 18, 2013, 15:49 То, что ты попал в slotReadyRead, еще не значит, что все данные пришли. Юзай буфер.
Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 16:11 То, что ты попал в slotReadyRead, еще не значит, что все данные пришли. Юзай буфер. reply->readAll() разве не должен подождать всех данных? как заюзать буфер? Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 16:12 Наверняка пришли не все данные, а только их часть. Между запросами нет разницы. То есть может быть, что в одной ситуации пришли все данные, а в другой пришла только часть? Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 16:17 все последующие запросы выводят
Цитировать "unexpected end of file" 16 1658 То есть ещё меньше данных приходит. Больше значения не изменяются. Название: Re: QDomDocument отрабатывает не всегда=( Отправлено: spirits25 от Январь 18, 2013, 16:31 Решил, может кому ещё из новичков пригодится=)
Ответы начали приходить в несколько заходов. Каждый раз в slotReadyRead я сохранял по кусочку и когда всё собралось mDocument.setContent отработал без ошибок=) Всем спасибо, кто помогал=) Название: Re: [РЕШЕНО] QDomDocument отрабатывает не всегда=( Отправлено: Fregloin от Январь 21, 2013, 12:53 а когда Вы узнали что пришли все данные?
|