criacao de threads

29/05/2008

1

Bom tenho uma thread que faz o download do codigo html

carrego uma lista de sites num listbox.

para fazer os gets uso o comando.

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to Listbox4.Items.Count-1 do
    CriaThreads(ListBox4.Items[i]);
end;


a procedure CriaThreads

procedure CriaThreads(Url: String);
var Thd: TThreadHttp;
begin
  Thd := TThreadHttp.Create(True);
  Thd.FreeOnTerminate := True;
  Thd.Url := Url;
  Thd.Resume;
  end;


o problema e que fazendo desta forma percebi que acabo criando 1 thread para cada item da lista.

gostaria de fazer da seguinte forma

Definir em um edit a quantidade de threads a serem criadas
e cada thread percorre a lista fazendo o get em cada item.

aqui o execute da thread http

procedure TThreadHttp.Execute;
begin
inherited;
if terminated then
exit
else
begin
  Http := TidHttp.Create(nil);
  try
  Str := HTTP.Get(url);
  except
  end;
  Synchronize(ShowPage);
  end;

end;



Responder

Posts

29/05/2008

Pestana_

uma dica:

bom, eu nunca precisei utilizar threads, estou começando estudar agora, inclusive sai na edição deste mês (95) um artigo falando sobre threads e um exemplo pratico!

vale apena dar uma lida neste artigo.


flw.


Responder

29/05/2008

Bmendess

uma dica: bom, eu nunca precisei utilizar threads, estou começando estudar agora, inclusive sai na edição deste mês (95) um artigo falando sobre threads e um exemplo pratico! vale apena dar uma lida neste artigo. flw.



valeu vo me informar sobre isso!


Responder