Timer1.Enabled := True; 
    label5.Caption := '正在下载数据...';
    Application.ProcessMessages;
    download;
//timer1用来控制滚动条,可timer事件一直不执行,interval=10 procedure TFmodel.Timer1Timer(Sender: TObject);
begin
  if RzProgressStatus1.PartsComplete <= 1000 then //用断点调试发现不进入timer事件
  begin
  RzProgressStatus1.IncParts(10);
  if RzProgressStatus1.PartsComplete = 1000 then
  Timer1.Enabled := False;
 end;
end; 谢谢大家帮忙

解决方案 »

  1.   

    download里必须有允许消息发布的机会(也就是很快就能运行一次application.processmessages;),定时器事件才有机会得到执行
      

  2.   

    虽然不大可能,但是我还是想问问,你那个事件和TIMER关联了没?
      

  3.   

    download是大量数据的下载操作,那在download中应该怎么处理才能处理才能使timer事件执行呢?
      

  4.   


    把一次性下载大量,改为多次下载,每次下载少量,之间插入application.processmessages;
    当然,如果无法多次下载,也就没办法了只能把定时器改为线程了
      

  5.   

    谢谢大家帮助特别感谢sz_haitao,结贴了