再加个窗体,上面显示loading,点击时,先弹出这个窗体,然后接着加载数据库,等加载完了,关闭这个窗体,显示那个数据窗体

解决方案 »

  1.   

    通过timer实现procedure TForm1.Button1Click(Sender: TObject);
    begin
      self.vg_cou:=0;
      Form2.Show;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      self.vg_cou:=self.vg_cou+1;
      if self.vg_cou>3 then
        self.vg_cou:=1;
      case self.vg_cou of
      1:form1.Label1.Caption:='loading.';
      2:Form1.Label1.Caption:='loading..';
      3:Form1.Label1.Caption:='loading...';
      end;
    end;procedure TForm2.FormShow(Sender: TObject);
    begin
      form1.Timer1.Enabled:=True;
      //这里是你读取数据库的部分
      form1.Timer1.Enabled:=False;
    end;
      

  2.   

    读取数据部分加个让权哟!Application.Process,要不然,APP会假死。
      

  3.   

    来晚了,还发分吗,用lovelymelon的方法就行。
      

  4.   

    2楼哥哥,你的方法试了,结果。。失败form2 show的时候还是假死状态   同时form1也被form2挡住,看不到loading字样动的样子。
      

  5.   


    Application.Process我也在查询的时候加了  结果如下:1如果直接在form2.show里写查询语句   Application.Process没用  show的时候还是假死2如果from2.show里不写任何东西  在form2里加个button 在button事件里写查询语句  Application.Process有用  DBgrid的查询结果也是逐个显示   当然  form2.show的时候 没有任何语句 不会假死  但是DBgrid里的数据不能自动显示  需要手动按button