![]() |
idhttp.Post parallelisieren
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 |
AW: idhttp.Post parallelisieren
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.
|
AW: idhttp.Post parallelisieren
Vielen Dank. IdAntiFreeze tut genau was ich wollte. Ich kannte es nicht.
Gruß Alfonso |
AW: idhttp.Post parallelisieren
Der Thread wäre allerdings die elegantere Möglichkeit gewesen. Aber ich will Dir da nicht reinreden ;)
|
AW: idhttp.Post parallelisieren
Du darfs gerne reinreden :P. 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 |
AW: idhttp.Post parallelisieren
Das letzte Thread-Problem, das wir in der DP hatten, müsste
![]() |
AW: idhttp.Post parallelisieren
Ein Threadtutorial findest du hier:
![]() |
idhttp.Post abbrechen
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 |
AW: idhttp.Post parallelisieren
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).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz