PDA

Просмотр полной версии : [Помогите!] Трабл с многопоточностью


Steam~
15.10.2011, 12:05
Трабл заключается в том , что когда я ставлю например 10 потоков то перебирается только одна пара ник\пасс из списка 10 раз, как решить данную проблему? вот пример кода

procedure TForm32.Button1Click(Sender: TObject);
var
i:integer;
maxthreads:integer;
begin
for i:=0 to Memo1.Lines.Count-1 do
begin
tpot:=0;
nick1:=copy(Memo1.Lines[i],0,pos('|',Memo1.Lines[i])-1);
pass1:=copy(Memo1.Lines[i],pos('|',Memo1.Lines[i])+1, length(Memo1.Lines[i]));
maxthreads:=strtoint(edit1.text);
tpot:=maxthreads;
Potok.Create(false);
end;
end;

maxilam
19.10.2011, 17:17
я так понимаю nick1 и pass1 глобальные переменные? как поток с ними работает? Потому что при каждом прохождении цикла переменным присваевается новое значение. Лучше передавай их во вновь создаваемый поток в качестве параметров.

blad56
25.10.2011, 05:32
Трабл заключается в том , что когда я ставлю например 10 потоков то перебирается только одна пара ник\пасс из списка 10 раз
У тебя нет критической секции.