首先计算一下Form1中的事件完成需要的总步骤(总时间),初始化进度条
在Form1的事件中,根据完成的进度,设置Form2中的进度条的位置,再用form2.Refresh刷新一下form2

解决方案 »

  1.   

    如果是在form1中使用adoquery1从一个数据库中取出数据,并用adoquery2向另一个数据库中插入,那么可以这样写,(不用多线程)
    adoquery1.sql.text := 'select ....'
    adoquery1.open;
    状态条.max:=adoquery1.count;
    状态条.position := 0;
    adoquery1.first;
    while not adoquery1.eof do
    begin
      application.handlemessage;
      adoquery2.spl.text := 'insert into 表 values(adoquery1.fields[].asting......)';
      adoquery2.execel;
      adoquery1.next;  
      状态条.opsition := 状态条.opsition +1;
    end;