在你这段代码里面 没有找到能证明循环停止的地方啊是不是selectNextJob里面有在外面能看到循环运行的地方或者你在 if j <> nil then
begin
printJobAssign(j);
end else
begin
//加上点东西,看下是循环停止了,还是在空循环 end;
while truedo
begin
try inc(i);
form1.FindComponent(('lable' + inttostr(k)) as Tlable).caption:=inttostr(i)////也可以先改成这样下,具体看下是线程外面的原因还是内部的原因 except on E:Exceptiondo
begin
form1.FindComponent(('lable' + inttostr(k)) as Tlable).caption:=inttostr(i) //posLog.RecordPrintLog('循环错误',printStr+'////////////'+e.Message);
continue;
end;
end;
end;