Hallo SirThornberry,
Ok, und wie mache es das, damit die Daten trotzdem in der TList bleiben, ich aber nach dem Verlassen meiner Procudure ThreadResult die Var ContentStream in der aufrufenden Procedure wieder freigebenen kann? Ich versuche mal den Hintergrund zu bleuchten,vielleicht mache ich ja einen Fehler.
Ich habe eine Schleife, die diese Streams einsammelt.
Delphi-Quellcode:
...
ContentStream:= TStringStream.Create(toEOF);
while ((JobQueue.Joblist.Count>0))
do
begin;
FURL:=JobQueue.Joblist.Strings[0];
JobQueue.Joblist.Delete(0);
IdHTTP.Get(FURL,ContentStream);
JobQueue.ThreadResult(ContentStream,
Handle);
ContentStream.Free;
end;
...
Diese ruft dann die besagte procedure ThreadResult(ContentStream: TStringStream
auf. Nach jedem Schleifedurchlauf muß ich den ContentStream leeren, sonst konkateniert sich das Ergebnis. Daher muß ich die Daten umkopieren und zwar in meine FResultlist. Daran scheitere ich momentan. Danke für die Hilfe.
Delphi-Quellcode:
Type PStringStream = ^TStringStream;
....
FResultlist: TList;
....
procedure ThreadResult(ContentStream: TStringStream;);
var P:PStringStream;
begin
New(p);
p^:=TStringStream.Create(toEOF);
irgendetwas mit ContentStream und p
FResultlist.Add(p);