hallo,
ich hab das ganze nun mal mit WaitForMultipleObjects probiert,
allerdings scheint hier nicht wirklich gewartet zu werden =(
mein code ist folgender:
Delphi-Quellcode:
procedure TMainForm.LunchThreadds;
var i: integer; Mylist: TStringlist;
hndlArray : Array of THandle;
begin
...
//erstmal wird Mylist eingelesen und geschaut ob noch threads laufen
...
Setlength(MyThreadArray, StrToInt(edtThreads.Text));
Setlength(hndlArray, StrToInt(edtThreads.Text));
while Mylist.Count-1 > 0 do
begin
for i := 0 to length(MyThreadArray) - 1 do
begin
MyThreadArray[i] := TMyThreads.Create(true);
MyThreadArray[i].FIndex := i;
MyThreadArray[i].FValue := Myylist[0];
MyThreadArray[i].Priority := tpIdle;
MyThreadArray[i].FreeOnTerminate := True;
hndlArray[i] := MyThreadArray[i].Handle;
MyThreadArray[i].Resume;
Mylist.Delete(0);
end;
//die ersten threads durchlaufen und warten bis diese beendet sind
//um dann die nächsten threads zu initialisieren
WaitForMultipleObjects(StrToInt(edtThreads.Text), @hndlArray, True, 60000);
end;
Myylist.Free;
end;
jemand eine idee wo nun der denkfehler ist?