Seite 1 von 1

Frage zu QNetworkAccessManager und QNetworkReply

Verfasst: 16. Februar 2010 10:04
von guenni81
Hallo zusammen,
ich hätte da mal ne Frage zu den Klassen QNetworkAccessManager und QNetworkReply.
Wenn ich über den QNetworkAccessManager einen Get/Post/etc. Request versende, so wird nach Ausführen bzw. Antworten des Servers das finished Signal ausgelöst.
Mein Problem liegt darin das ich vom Server zwar eine Antwort bekomme, diese aber dem "Objekt" dessen Parameter versendet wurde mitteilen muß. Nun Frage ich mich wie ich diese Zuweisung hier erreichen kann. Der Server gibt mir an dieser Stelle nur einen StatusCode zurück.
Wie lässt sich soetwas am besten realisieren?

Verfasst: 18. Februar 2010 12:01
von FaS
Du hast doch die QNetworkReply-Instanz als Anhaltspunkt.
Gruß,
FaS

Verfasst: 18. Februar 2010 12:23
von guenni81
FaS hat geschrieben:Du hast doch die QNetworkReply-Instanz als Anhaltspunkt.
Gruß,
FaS
Genau das ist die Frage, wie kann ich anhand der QNetworkReply-Instanz Rückschlüße auf das Objekt bzw. die Parameter bekommen?

Verfasst: 18. Februar 2010 12:46
von FaS
Du bekommst dieselbe Instanz zum ersten Mal, sobald du ein Request absetzt. Kannst auch das finished() dieser Instanz verwenden.
Dann gibt es verschiedene Möglichkeiten: spezielle Signal-/Slot-Verbindungen für verschiedene Instanzen, oder besser mit QSignalMapper, oder du speicherst Zeiger auf die Requests mit passendem "Objekt" in einem QHash, usw.

PS: QSignalMapper: "There may be at most one integer ID for each sender." (Doku) finde ich eine eigenartige Einschränkung, hab die Klasse noch nie benutzt, vielleicht kann das jemand anderes erklären, falls notwendig.

Gruß,
FaS

Verfasst: 18. Februar 2010 13:13
von guenni81
Stimmt, ich bekomme ja auch ne Instanz zurück, das hab ich komplett übersehen. So ein Käse aber auch. OK, dann sollte das ganze vermutlich kein Problem mehr darstellen. Dank dir!!! :D