0 / 0 / 0
Регистрация: 30.07.2015
Сообщений: 3
1

QT Вылет программы. Код ошибки 255

13.10.2015, 15:17. Показов 7239. Ответов 6
Метки нет (Все метки)

Всем доброго времени суток. Это мой первый опыт на форуме, поэтому не судите строго, если пишу не туда или излагаю не совсем ясно свои мысли. Я делаю приложения для вконтакте используя API. Отправляю запросы и получаю ответы. Но проблема в том, что программа иногда вылетает, а иногда работает вполне нормально. И вылеты бывают на разных этапах работы программы, поэтому не могу точно отследить когда происходит сбой. Возможно не хватает знаний. Порой программа закрывается с кодом ошибки 255. Почему то думаю, что проблема в этом куске кода
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
QByteArray VK::GET(QUrl r)
{
    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    QNetworkReply *reply = manager->get(QNetworkRequest(r));
    QEventLoop wait;
    connect(manager,SIGNAL(finished(QNetworkReply*)),&wait,SLOT(quit()));
    QTimer::singleShot(10000,&wait,SLOT(quit()));
    connect(manager,SIGNAL(finished(QNetworkReply*)),manager,SLOT(deleteLater()));
    wait.exec();
    QByteArray answer = reply->readAll();
    reply->deleteLater();
    return answer;
}
Отладчик останавливался на строке
C++ (Qt)
1
 QByteArray answer = reply->readAll();
Если нужны исходники - могу предоставить.
Буду рад помощи. Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2015, 15:17
Ответы с готовыми решениями:

Не запускается проект qt (2014 года.) Код ошибки 255
Всем добрый вечер! У меня есть проект на qt, 2014 года. Он запускается, но после ввода данных...

421 cannot connect to SMPT server 255.255.255.255 (255.255.255.255:25)
Добрый день! при вызове bool mSocket::Connect(int port,char* adr) { hostent* hn; ...

Код ошибки 255 (0xff)/ 1073741189 (0xc000027b)
В чем может быты причина? using System; using System.Collections.Generic; using...

Массив: Вычислить сумму элементов, лежащих на главной диагонали матрицы {Cÿ}, образованной следующим образом: Cÿ = aÿ + bÿ
Здравствуйте, дорогие форумчане!;) -------------------------------------- Помогите, пожалуйста,...

6
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
13.10.2015, 16:45 2
Цитата Сообщение от Venceras Посмотреть сообщение
Отладчик останавливался на строке
А где у вас обработка ситуации, когда срабатывает именно QTimer::singleShot?
0
58 / 54 / 21
Регистрация: 31.03.2014
Сообщений: 234
13.10.2015, 18:28 3
Дайте исходник. Так проще будет
0
0 / 0 / 0
Регистрация: 30.07.2015
Сообщений: 3
15.10.2015, 09:43  [ТС] 4
Цитата Сообщение от ldir82 Посмотреть сообщение
Дайте исходник. Так проще будет
исходники https://yadi.sk/d/63b5L9Q0jk7CX

Добавлено через 8 минут
Цитата Сообщение от ldir82 Посмотреть сообщение
Дайте исходник. Так проще будет
bvk.h
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#ifndef BVK_H
#define BVK_H
 
#include <QMainWindow>
#include <QUrl>
#include <QString>
#include <QUrlQuery>
#include "json.h"
#include <QMap>
#include <QTimer>
 
 
typedef QMap<QString,QString> Photo_fr;
typedef QMap<QString,QString> City;
typedef QMap<QString,QString> Can_post;
typedef QMap<QString,QString> Can_write;
typedef QMap<QString,QString> Country;
typedef QMap<QString,QString> Photo;
typedef QMap<QString,QString> MGroup;
typedef QMap<QString,QString> Test;
typedef QMap<QString,QString> User;
typedef QMap<QString,QString> HB_Email;
typedef QMap<QString,QString> HB_Phone;
typedef QMap<QString,QString> HB_Twitter;
typedef QMap<QString,QString> HB_Facebook;
typedef QMap<QString,QString> HB_Skype;
typedef QMap<QString,QString> HB_Users;
 
 
 
namespace Ui {
class BVK;
}
 
class BVK : public QMainWindow
{
    Q_OBJECT
QString status;
int verefec;
QString Skyper;
QString price3;
QString data;
QString gglogin;
QString werbay;
QString cap;
 
 
public:
    explicit BVK(QWidget *parent = 0);
 
    ~BVK();
 
private slots:
 
        void on_Send_friend_clicked();
 
        void on_Stop_friend_clicked();
 
        void on_Send_post_fr_clicked();
 
        void on_Stop_post_fr_clicked();
 
        void on_likeava_fr_clicked();
 
        void on_stope_likeava_fr_clicked();
 
        void on_deletefr_clicked();
 
        void on_stop_deletefr_clicked();
 
        void on_findgroup_clicked();
 
        void on_opengroup_clicked();
 
 
        void on_delete_group_clicked();
 
        void on_all_group_2_clicked();
 
 
 
        void on_pushButton_clicked();
 
        void on_pushButton_23_clicked();
 
        void on_combostat_activated(const QString &arg1);
 
        void on_pushButton_24_clicked();
 
        void on_clear_clients_2_clicked();
 
        void on_comboCon_activated(const QString &arg1);
 
        void on_pushButton_2_clicked();
 
        void on_pushButton_3_clicked();
 
        void on_all_friend_2_clicked();
 
        void on_pushButton_4_clicked();
 
        void on_pushButton_5_clicked();
 
 
        void on_pushButton_6_clicked();
 
        void on_pushButton_7_clicked();
 
        void on_pushButton_25_clicked();
 
        void on_pushButton_26_clicked();
 
        void on_pushButton_27_clicked();
 
        void on_pushButton_29_clicked();
 
        void on_pushButton_28_clicked();
 
        void on_pushButton_30_clicked();
 
        void on_clear_clients_3_clicked();
 
 
public slots:
void url_IZmen(QUrl);
void get_friend();
void Send_Friends();
void Post_Friends();
void Likeava_Friends();
void Delete_fr();
void Send_Clients();
void Post_Clients();
void Likeava_Clients();
void get_city();
 
 
 
 
signals:
void auth_success();
 
 
private:
    Ui::BVK *ui;
      QString token;
   // QPoint mpos;
    QByteArray GET(QUrl);
    User users;
    MGroup mgroups;
    Test test;
    Photo photos;
    HB_Email hb_email;
    HB_Phone hb_phone;
    HB_Twitter hb_twitter;
    HB_Facebook hb_facebook;
    HB_Skype hb_skype;
    HB_Users hb_users;
    City bd_city;
    Country bd_country;
    Photo_fr photo_friend;
    Can_write can_write;
    Can_post can_post;
 
};
 
#endif // BVK_H
Добавлено через 3 минуты
небольшой кусочек bvk.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include "bvk.h"
#include "ui_bvk.h"
#include <QUrl>
#include <QUrlQuery>
#include <QString>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QNetworkRequest>
#include <QTimer>
#include <QEventLoop>
#include "json.h"
#include <QStandardItemModel>
#include <QTimer>
#include<QDesktopServices>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QWaitCondition>
#include <QDate>
#include <QByteArray>
#include <QCryptographicHash>
 
 
 
 
 
using namespace QtJson;
 
BVK::BVK(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::BVK)
{
 
    ui->setupUi(this);
 
    QDate dat;
    dat = QDate::currentDate();
    data =  dat.toString("yyyy.MM.dd");
 
 
 
 
    ui->findgroup->setDefault(true);
    ui->pushButton->setDefault(true);
    ui->pushButton_2->setDefault(true);
    ui->pushButton_4->setDefault(true);
    ui->Send_friend->setDefault(true);
    ui->Send_post_fr->setDefault(true);
 
    ui->tabWidget->setVisible(false);
    ui->label_5->setVisible(false);
    ui->listFriends->setVisible(false);
    ui->all_friend_2->setVisible(false);
 
    ui->label_6->setVisible(false);
    ui->listUsers->setVisible(false);
    ui->clear_clients_2->setVisible(false);
    ui->clear_clients_3->setVisible(false);
 
    ui->listgroup->setSelectionMode(QAbstractItemView::MultiSelection);
 
    ui->PPhone->setVisible(false);
    ui->TTwitter->setVisible(false);
    ui->EEmail->setVisible(false);
    ui->FFacebook->setVisible(false);
    ui->SSkype->setVisible(false);
 
    ui->day->setEnabled(false);
    ui->moth->setEnabled(false);
    ui->yer->setEnabled(false);
    ui->combostat->setEnabled(false);
    ui->comboCon->setEnabled(false);
 
    if(ui->checkst->isChecked()) status = "";
 
    ui->webView->load(QUrl("https://oauth.vk.com/authorize?client_id=4915653&scope=offline,messages,friends,wall&redirect_uri=https://oauth.vk.com/blank.html&display=wap&response_type=token"));
    connect(ui->webView,SIGNAL(urlChanged(QUrl)),this,SLOT(url_IZmen(QUrl)));
    connect(this,SIGNAL(auth_success()),this,SLOT(get_friend()));
 
 
    connect(ui->checkd,SIGNAL(clicked(bool)),ui->day,SLOT(setEnabled(bool)));
    connect(ui->checkm,SIGNAL(clicked(bool)),ui->moth,SLOT(setEnabled(bool)));
    connect(ui->checky,SIGNAL(clicked(bool)),ui->yer,SLOT(setEnabled(bool)));
    connect(ui->checkst,SIGNAL(clicked(bool)),ui->combostat,SLOT(setEnabled(bool)));
    connect(ui->checkc,SIGNAL(clicked(bool)),ui->comboCon,SLOT(setEnabled(bool)));
}
void BVK::url_IZmen(QUrl u)
{
    if(!u.toString().contains("access_token"))
        return;
    u = u.toString().replace("#","?");
 
    token = QUrlQuery(u).queryItemValue("access_token");
    ui->webView->setVisible(false);
    ui->tabWidget->setVisible(true);
    ui->label_5->setVisible(true);
    ui->listFriends->setVisible(true);
    ui->all_friend_2->setVisible(true);
    ui->label_6->setVisible(true);
    ui->listUsers->setVisible(true);
    ui->clear_clients_2->setVisible(true);
    ui->clear_clients_3->setVisible(true);
 
    emit auth_success();
}
 
void BVK::get_friend()
{
    QUrl current ("https://api.vk.com/method/friends.get");
    QUrlQuery param;
    param.addQueryItem("v","5.2");
    param.addQueryItem("access_token", token);
    param.addQueryItem("fields","first_name,last_name, photo_id");
    current.setQuery(param);
 
 
    QByteArray amswer = GET(current);
 
    if(amswer.isEmpty()){
        exit(-1);
    }
 
    QVariantList List = parse(amswer).toMap().value("response").toMap().value("items").toList();
 
    for(int i = 0; i < List.size();i++){
        QVariantMap current = List[i].toMap();
        QString tmp = current.value("first_name").toString()+ " " + current.value("last_name").toString();
        users[tmp] = current.value("id").toString();
        photo_friend[tmp] = current.value("photo_id").toString();
    }
    for(User::iterator itr = users.begin(); itr!=users.end(); itr++){
        ui->listFriends->addItem(itr.key());
        ui->statusBar->showMessage("Добавления в список друзей: "+itr.key(),2000);
    }
    emit get_city();
 
}
 
 
QByteArray BVK::GET(QUrl r)
{
    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    QNetworkReply *reply = manager->get(QNetworkRequest(r));
    QEventLoop wait;
    connect(manager,SIGNAL(finished(QNetworkReply*)),&wait,SLOT(quit()));
    QTimer::singleShot(10000,&wait,SLOT(quit()));
    connect(manager,SIGNAL(finished(QNetworkReply*)),manager,SLOT(deleteLater()));
    wait.exec();
    QByteArray answer = reply->readAll();
    reply->deleteLater();
    return answer;
}
 
 
BVK::~BVK()
{
    delete ui;
}
0
0 / 0 / 0
Регистрация: 30.07.2015
Сообщений: 3
16.10.2015, 11:05  [ТС] 5
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
А где у вас обработка ситуации, когда срабатывает именно QTimer::singleShot?
Ситуация в том, что раз через раз работает. И если при завершении программы сделать отладку, отладчик ставит отметку на этой строке
C++ (Qt)
1
QByteArray answer = reply->readAll();
Ощущение такое, что при получении ответа иногда возникает конфликт, который приводит к завершению программы.
0
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
16.10.2015, 12:02 6
Цитата Сообщение от Venceras Посмотреть сообщение
Ощущение такое, что при получении ответа иногда возникает конфликт, который приводит к завершению программы.
1) Проверь reply, чтобы он не был равен нулю(nullptr).
2) перед тем, как считать данные с помощью readAll проверяй, закончилась ли операция с помощью QNetworkReply::isFinished(), а также на ошибки, с помощью QNetworkReply::error() == QNetworkReply::NoError

Посмотри, помогут ли эти советы.
0
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 54
05.11.2015, 20:57 7
Доброго времени суток, может кто помочь, столкнулся с такой проблемой, при компиляции мое проги выдает 255 ошибку, и я никак не могу разобраться в чем дело
Вложения
Тип файла: 7z KYRSACH.7z (4.6 Кб, 4 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2015, 20:57

Белый ip с маской 255.255.255.255. как это?
Случайно обнаружил, что провайдер выдал мне адрес вида Х.Х.Х.0 с маской 255.255.255.255. Поясните...

Может ли компьютер с адресом 198.301.322.1 находится в подсети 255.255.255.1? Аргументируйте ответ
Может ли компьютер с адресом 198.301.322.1 находится в подсети 255.255.255.1? Аргументируйте ответ.

Какая часть адреса 185.28.60.163 с заданной маской 255.255.255.0 обозначает подсеть в сети класса В?
Что самое интересное, в вопросе указана маска сети класса С... я чего-то не понимаю...

Максимальное количество подсетей в сети с маской 255.255.255.192
Если сеть класса С разделена на подсети и имеет маску 255.255.255.192, то какое максимальное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.