Próbuję przez jakiś czas zrobić "zły pobieranie http" w Delphi, ale TIdHttpCli po prostu nie mogę zrobić, co chcę. Z jakiegoś powodu nie będzie działać w tym samym czasie w wielu wątkach. Proszę spojrzeć prostą demonstracją tego problemu:Naruszenie dostępu z TIdHttp działa na wielu wątkach w tym samym czasie
procedure HttpRequest(AParam : Integer); stdcall;
var
lHttp: TIdHttp;
begin
lHttp := TIdHttp.Create(nil);
{
lHttp.Get(
'http://stackoverflow.com/questions/15977505/',
TMemoryStream.Create
);
}
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
tid: DWORD;
begin
for i := 0 to 4 do
CreateThread(nil, 0, @HttpRequest, nil, 0, tid);
end;
David Heffernan EDIT: uproszczony kod w pytaniu. Ten kod nadal manifestuje zachowanie. Moje środowisko testowe to XE3 z Indy dostarczonym z XE3.
@PauloParedes - TThread, zgodnie z sugestią Davida. –