Autor Beitrag
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Mo 08.08.11 10:17 
Hallo DFler,
von einer Seite fordere ich mehrere Daten an, diese erhalte ich als Ergebnis eines IdHttp.Post-Aufrufes.
Dies funktioniert auch, allerdings habe ich das Gefühl, daß das ganze nicht sehr sauber ist.

Theoretisch funktioniert das so:www.seite.de/getdata?id=Nummer.
In einer Schleife sende ich nun die Anfragen (id=0 bis id=9) an das Script und erhalte im Ergebnis die Daten.

Gibt es die Möglichkeit, das ganze wie einen Stack abzuarbeiten? Zum Beispiel in der Form
ausblenden Delphi-Quelltext
1:
2:
3:
for iDataID = 0 to 9 do
 if ServerReady then
  RetrieveData(iDataID);


Es sind keine großen Datenmengen, die zurückkommen (maximal 20kb an HTML-Daten), aber es dauert manchmal schon ein paar Sekunden (bis zu 15), bis die nächsten Daten kommen,
aber 150 Sekunden (>3 Minuten) ist schon viel. Dabei friert auch die Form ein (auch mit IdAntiFreeze).

Den Download habe ich (noch) nicht als Thread (ich glaube, deswegen friert die Form ein), werde dies aber dann wohl noch machen (müssen).

Ist in diesem Fall z.B. OnWorkBegin, OnWork & OnWorkEnd zu nutzen?

Beste Grüße

rizla

Moderiert von user profile iconNarses: I- durch Code-Tags ersetzt

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 08.08.11 10:52 
Moin!

user profile iconrizla hat folgendes geschrieben Zum zitierten Posting springen:
von einer Seite fordere ich mehrere Daten an, diese erhalte ich als Ergebnis eines IdHttp.Post-Aufrufes.
Dies funktioniert auch, allerdings habe ich das Gefühl, daß das ganze nicht sehr sauber ist.

Theoretisch funktioniert das so:www.seite.de/getdata?id=Nummer.
In einer Schleife sende ich nun die Anfragen (id=0 bis id=9) an das Script und erhalte im Ergebnis die Daten.
Warum sollte das nicht "sauber" sein? :gruebel: Klingt erstmal völlig OK. ;) Diese IdAntifreeze-Klamotte halte ich eher für "unsauber"... :?

user profile iconrizla hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es die Möglichkeit, das ganze wie einen Stack abzuarbeiten?
user profile iconrizla hat folgendes geschrieben Zum zitierten Posting springen:
Den Download habe ich (noch) nicht als Thread (ich glaube, deswegen friert die Form ein), werde dies aber dann wohl noch machen (müssen).
Das lässt sich doch prima verbinden: gestalte den Thread so, dass er die ID eines Download übergeben kriegt, dann startest du alle Download-Threads auf einmal und reagierst z.B. auf das OnTerminate-Ereignis. :idea:

user profile iconrizla hat folgendes geschrieben Zum zitierten Posting springen:
Ist in diesem Fall z.B. OnWorkBegin, OnWork & OnWorkEnd zu nutzen?
Nein, das brauchst du nur, wenn du während des Downloads eine Performace-Messung machen willst.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: rizla