procedure test(dt: dword);
var
tt : dword;
i : integer;
begin
tt := GetTickCount();
for I := 1 to 10000 do
begin
Form1.ProgressBar1.Position := Form1.ProgressBar1.Position+1;//要作的事情
if GetTickCount()-tt > dt then exit;//如果超时就退出
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
test(100)
end;