现在我要Load一个 15MB的XML,大概需要3-5秒,
想要实现载入XML的时候屏幕中间出现一个小窗口,载入后自动关闭这个窗口。可能需要使用多线程,初学Delphi,请论坛的朋友帮帮忙。谢谢!

解决方案 »

  1.   

    before Load:
      frmMessage.Show;
    after Load:
      frmMessage.Close;
      

  2.   

    用progessbar
    在FormShow 事件里写
      

  3.   

    其实也不用多线程创建一个窗口,formstyle:=fsStayOnTop;borderstyle:=bsNone;
    Load一个 15MB的XML时打开,结束时关闭即可
      

  4.   

    载入的开始和结束应该都可以判断
    开始:
    form.show
    结束:
    form.close
      

  5.   

    将你的loadXml写成一个方法,
    传入一个你自己的线程,该线程接受一个TYourMethod参数,并在执行时执行该方法,
    剩下的就是显示你的提示
    CreatThread,
    Thread.resume;
    thread.terminate;
    关掉你的提示
      

  6.   

    用progessbar就可以了啊,而且还能看到载入的进度
      

  7.   

    在载入前
    frm := TForm.create(nil);
    frm.show;
    frm.update;在载入完成后
    frm.close;
    frm.free;
      

  8.   

    没有必要这么复杂吧,给你段我常用的:
    procedure TConutEmployer.FormShow(Sender: TObject);
    begin
      if assigned(wait) then freeandnil(wait);
      wait:=wait_u.TWait.Create(application);
      wait.Show ;                                 //WAIT是个等待窗体,里面含有进度条  application.ProcessMessages;            //注意这里很重要,它可以让操作系统处理等待窗体的动作
      screen.Cursor:=crHourGlass;        //将光标显示酒杯
       listdata;                         //这里处理事件,在里面同时让WAIT里面的进度条动起来
      application.ProcessMessages;
      wait.Close;
       screen.Cursor:=crDefault;
    end;
      

  9.   

    对,创建一个form,显示“正在装载数据,请等待...”
    然后装载开始的时候,form.show;
    幢在结束后,form.close。