Frage zu QNetworkAccessManager und QNetworkReply

Verschiedenes zu Qt
Antworten
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Frage zu QNetworkAccessManager und QNetworkReply

Beitrag 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?
mfg
Günni
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag von FaS »

Du hast doch die QNetworkReply-Instanz als Anhaltspunkt.
Gruß,
FaS
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Beitrag 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?
mfg
Günni
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag 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
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Beitrag 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
mfg
Günni
Antworten