AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke idhttp.Post parallelisieren
Thema durchsuchen
Ansicht
Themen-Optionen

idhttp.Post parallelisieren

Ein Thema von Alfonso · begonnen am 29. Aug 2011 · letzter Beitrag vom 30. Aug 2011
Antwort Antwort
Alfonso

Registriert seit: 10. Jan 2006
250 Beiträge
 
Delphi 11 Alexandria
 
#1

idhttp.Post parallelisieren

  Alt 29. Aug 2011, 09:22
Hallo,

ich rufe über idhttp1.Post einen PHP Skript auf, der eine sehr lange Laufzeit hat. Während die Abfrage läuft, ist das Programm blockiert, da es kein Application.Processmessage ausführt. Ich kann weder das Fenster bewegen noch irgendwas machen.

Gibt es einen Trick, das Post im Hintergrund laufen zu lassen?
Ich habe es bereits mit einem Timer versucht. Der Post wird in einem Timer gestartet. Dieses bringt aber nicht das gewünschte Eregebnis.

Hat jemand einen Rat?

Gruß
Alfonso
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#2

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 09:38
Spontan fallen mir 2 Möglichkeiten ein: ein IdAntiFreeze dazupacken oder besser das Post in einen eigenen Thread auslagern. Dazu müssten sich in der DP einige Beispiele finden lassen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Alfonso

Registriert seit: 10. Jan 2006
250 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 10:45
Vielen Dank. IdAntiFreeze tut genau was ich wollte. Ich kannte es nicht.

Gruß
Alfonso
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#4

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 10:47
Der Thread wäre allerdings die elegantere Möglichkeit gewesen. Aber ich will Dir da nicht reinreden
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Alfonso

Registriert seit: 10. Jan 2006
250 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 10:55
Du darfs gerne reinreden . Ich habe bisher noch nie mit Threads gearbeitet. Wenn ich was parallelisieren wollte habe ich ein Timer benutzt. Ich habe in DP gesucht, aber noch nichts brauchbares gefunden. Suche gerne noch. Oder kennst du ein Tutorial oder gar ein Beispiel mit POST?

Gruß
Alfonso
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#6

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 11:10
Das letzte Thread-Problem, das wir in der DP hatten, müsste das hier gewesen sein. Schau es Dir samt der Lösung einfach genau an, ob da nun eine Query oder ein IdHTTP innerhalb des Threads erstellt wird, dürfte ja letztendlich egal sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: idhttp.Post parallelisieren

  Alt 29. Aug 2011, 12:24
Ein Threadtutorial findest du hier: http://michael-puff.de/Programmierung/Delphi/Tutorials/
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alfonso

Registriert seit: 10. Jan 2006
250 Beiträge
 
Delphi 11 Alexandria
 
#8

idhttp.Post abbrechen

  Alt 30. Aug 2011, 14:10
Habe mich an Threads versucht, aber doch aufgegeben. Mit IdAntiFreeze klappts sehr gut.
Ich rufe mit idhttp1.Get(adresse) ein PHP Skript, der ca. 20 Sekunden läuft.
Wenn währenddessen jemand versucht das Programm zu beenden, wird es erst beendet, wenn idhttp1.Get fertig ist.
Gibt es eine Möglicheit das Get abzubrechen?

Gruß
Alfonso
Alfonso
Seit Turbo Pascal 3.0 dabei!
Ewiger Pascal Fan!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#9

AW: idhttp.Post parallelisieren

  Alt 30. Aug 2011, 14:49
Ich bin beileibe kein Indy-Experte, aber vielleicht könntest Du ein privates Flag setzen und im OnWork-Event auswerten. Ist das Flag gesetzt, schließt Du einfach die Verbindung (Abort oder so gibt es beim Get ja IIRC nicht).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz