Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Использование QNetworkAccessManager. Где удалять QNetworkReply ? (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/ispol-zovanie-qnetworkaccessmanager-gde-udalyat-qnetworkreply-355911/)

Guest 30.09.2011 18:03

Использование QNetworkAccessManager. Где удалять QNetworkReply ?
 
Всем привет.При использовании QNetworkAccessManager при финише запроса мы получаем объект ответа QNetworkReply. Создает этот объект QNetworkAccessManager и выдает его адрес, а вот насчет удаления этого объекта документация говорит, что удалять нужно ручками самому в коде. Хочу обсудить вопрос: в каком месте кода его удалять (не в конкретной програме, а в принципе) ? Пробовал удалять в слоте, обрабатывающем сигнал finished(...) от QNetworkAccessManager. Нормально отрабатывает, проблема только в одной ситуации: используем прокси (QNetworkProxy) и если уходил запрос с неправильным логином(паролем) пользователя прокси (код статуса 407, ошибка 105 QNetworkReply) то прога вылетает по обращении недоступной памяти.Если не удалять совсем, почистит ли Qt память с этого объекта по завершению приложения ?экспериментировал на Qt 4.5.2PS: Я понимаю, что можно запонинать адреса объектов QNetworkReply и грохать потом в месте кода, где уже гарантированно соединения завершены. Но это уже от конкретного кода зависит, а хотелось бы какой-нибудь унифицированный вариант придумать.


Часовой пояс GMT, время: 00:16.


© www.otvetnemail.ru - Форум вопросов и ответов.