procedure tnew.getln;
var
t:tstringlist;
i:integer;
begin
for i:=0 to form1.memo1.lines.count-1 do
begin
t:=stringlist.create;
t.text:=form1.idhttp1.get(form1.memo1.lines[i]);
form1.memo2.lines.add(t.text);
end;
end;
как сделать, чтобы, скажем, потоков 20 паралельно его выполняли?
пытался примерно вот так:
Код:
tnew = class(tthread)
private
procedure getln;
protected
procedure execute; override;
end;
var
form1: tform1;
new1, new2: tnew;
i:integer;
procedure tform1.button1click(sender: tobject);
begin
new1 := tnew.create(true);
new1.freeonterminate := true;
new1.s := '1 thread';
new1.priority := tpnormal;
new2 := tnew.create(true);
new2.freeonterminate := true;
new2.s := '2 thread';
new2.priority := tpnormal;
new1.resume;
new2.resume;
end;
procedure tnew.getln;
var
t:tstringlist;
i:integer;
begin
for i:=0 to form1.memo1.lines.count-1 do
begin
t:=stringlist.create;
t.text:=form1.idhttp1.get(form1.memo1.lines[i]);
form1.memo2.lines.add(t.text);
end;
end;
procedure tnew.execute;
begin
getln;
end;
но idhttp1 вылетает с ошибкой или виснет (непомню точно, влом делфи включать)
краем уха слышал про idthreadcomponent, но адекватных примеров его использования я не нашел..
помогите!!!!11