crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Проблема QNetworkReply
sirnet
  опции профиля:
сообщение 25.12.2010, 3:23
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 19.12.2010
Пользователь №: 2280

Спасибо сказали: 0 раз(а)




Репутация:   0  


Столкнулся с проблемой которую просто не могу понять.....при отладке доходя до m_reply выдает вот такую штуку

Собственно сам код ниже:

QString text = "The Beatles";
        if (text.isEmpty())
                return;
        int count = 100;
        int mid = 7969328; //тут ваш mid
        QString sig_src = QString::number(mid);
        QMap<QString, QString> params;
        params["method"] = "audio.search";
        params["v"] = "3.0";
        params["api_id"] = "2045634";
        params["q"] = text;
        params["format"] = "JSON";
        params["count"] = QString::number(count);
        params["test_mode"] = "1";
        QStringList keys = params.keys();
        keys.sort();
        foreach(QString key, keys) {
            sig_src = QString("%1%2=%3").arg(sig_src).arg(key).arg(params[key]);
        }
        QByteArray n_sig_src;
        n_sig_src.append(sig_src);
        QByteArray sig = QCryptographicHash::hash(n_sig_src, QCryptographicHash::Md5).toHex();
        params["sig"] = sig;
        keys = params.keys();
        QString url = QString("http://api.vkontakte.ru/api.php?%1=%2").arg(keys.at(0)).arg(params[keys.at(0)]);
        for(int i = 1; i < keys.length(); i++) {
            url = QString("%1&%2=%3").arg(url).arg(keys.at(i)).arg(params[keys.at(i)]);
        }
        QNetworkAccessManager m_manager;
        QByteArray requstString;
        QNetworkRequest request(url);
        m_manager.post(request, requstString);

        QNetworkReply *m_reply;
        m_reply->ignoreSslErrors();
            if (m_reply->error())
            {
                qDebug()<<m_reply->errorString();
            }
            else
            {
        QByteArray otv = m_reply->readAll();
            }
Причина редактирования: сам код надо помещать в тег code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 25.12.2010, 9:33
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


А что должно быть, если ты пытаешься использовать не инициализированный указатель? ;)
QNetworkAccessManager m_manager;
QByteArray requstString;
QNetworkRequest request(url);
QNetworkReply *reply = m_manager.post(request, requstString);
reply->ignoreSslErrors();


Также, ты не дожидаешься самого момента получения данных, а сразу пытаешься читать.

Сообщение отредактировал BRE - 25.12.2010, 9:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sirnet
  опции профиля:
сообщение 25.12.2010, 11:58
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 19.12.2010
Пользователь №: 2280

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(BRE @ 25.12.2010, 9:33) *
А что должно быть, если ты пытаешься использовать не инициализированный указатель? ;)
QNetworkAccessManager m_manager;
QByteArray requstString;
QNetworkRequest request(url);
QNetworkReply *reply = m_manager.post(request, requstString);
reply->ignoreSslErrors();


Также, ты не дожидаешься самого момента получения данных, а сразу пытаешься читать.


Спасибо.....я понял где я не правильно сделал!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 2:47