qhttp in einer Funktion

Alles rund um die Programmierung mit Qt
Antworten
killerjoe
Beiträge: 27
Registriert: 23. Januar 2005 00:17

qhttp in einer Funktion

Beitrag von killerjoe »

Hallo,

ich scheibe gerade ein Plugin für ein Programm das beim Aufruf einer bestimmten Funktion eine Webseite runterladen und parsen muss.

Nun erwartet das Hauptprogramm beim Aufruf der Funktion ja das am ende Funktion ein Ergebnis zurück kommt. bei Qhttp muss ich aber das Signal abwarten bis die Seite vollständig geladen worden ist. Mir ist gerade nicht klar wir ich das machen soll/kann.

Code: Alles auswählen

QString Funk1()
{
  QString Ergebnis;
  http = new Qhttp();
  http->setHost("bla.org");  

  ....

  return(Ergebnis);
}
in diesem Fall soll nachher ja "Ergebnis" zurückgegeben werden, wie kann ich das machen?

Vielen Dank an alle die mir weiterhelfen können!
Markus
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Ist vielleicht mit Kanonen auf Spatzen geschossen, aber vielleicht helfen Dir ja Threads mit einer QWaitCondition weiter.

http://doc.trolltech.com/4.1/qwaitcondition.html
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
killerjoe
Beiträge: 27
Registriert: 23. Januar 2005 00:17

Beitrag von killerjoe »

Danke für die Idee. Ich werde mal drüber nachdenken und es als Anreiz nehmen!

Markus
Jonez
Beiträge: 22
Registriert: 7. Oktober 2005 01:01
Kontaktdaten:

Beitrag von Jonez »

Hi,
genau so eine Funktion benötige ich auch.
Hast Du es mitlerweile hinbekommen?
Mit diesem QWaitCondition hab ich es nicht hinbekommen.

MfG
Jonas
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zeig uns doch mal deine Code, damit wir sehen können was nicht funktioniert...
Jonez
Beiträge: 22
Registriert: 7. Oktober 2005 01:01
Kontaktdaten:

Beitrag von Jonez »

Mitlerweile hab ich meinen Code schon wieder zu arg geändert.
Ich hatte das Problem, dass anscheinend das done()-Signal vom QHttp-clienten erst dann kam, wenn die wait()-Funktion des QWaitCondition-Objekts aufgrund der zeitüberschreitung beendet wurde... es schien so als würde die QHttp-get()-Funktion nicht in einem "richtigen" Thread laufen, oder ich bin es einfach nur anders von C# gewöhnt...

Aber danke,
jonas
killerjoe
Beiträge: 27
Registriert: 23. Januar 2005 00:17

Beitrag von killerjoe »

Scheint ja echt ein Problem zu sein...gibt es hierzu mittlerweile was neues?
Antworten