Einzelnen Beitrag anzeigen

ozz

Registriert seit: 26. Jun 2005
131 Beiträge
 
#6

Re: Procedure Parameter in Pointer sichern

  Alt 5. Jan 2007, 22:52
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);
  Mit Zitat antworten Zitat