Ich versuche seit einiger Zeit eine "böse http Downloader" in Delphi, aber TIdHttpCli kann nicht tun, was ich will. Aus irgendeinem Grund wird es nicht in vielen Threads gleichzeitig ausgeführt. Schauen Sie sich hier eine der einfachen Demonstration dieses Problems:Zugriffsverletzung mit TIdHttp läuft auf vielen Threads zur gleichen Zeit
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: ich den Code in der Frage vereinfacht. Dieser Code zeigt immer noch das Verhalten an. Meine Testumgebung war XE3 mit dem Indy, der mit XE3 ausgeliefert wurde.
@PauloParedes - TThread, wie von David vorgeschlagen. –