为什么我的软件在执行后台操作过程中窗口不能移动,而且好像死在那里了呢?人家那些大程序在执行某些很繁忙的程序时窗体还是可以拖动的,而且和其他窗体的切换也很流畅啊?不知道问题出在哪里呢?

解决方案 »

  1.   

    用子线程来处理。你看看WINDOWS的文件拷贝,都是如此,,当然你也可以在你的处理事务中加上APPLICATION.PROCESSMESSAGE来响应系统消息. 但采用子线程来处理是比较合理的。
      

  2.   

    我对delphi不熟,不知道子线程是什么意思。我的感觉应该是让后台的程序不依附于前面的窗体吧?是不是这个意思呢,否则它总作为窗体的一部分从而导致整个窗体忙。响应系统消息是判断鼠标的动作,然后用程序来让窗体执行这个动作吗?希望能给出关键的代码看看,呵呵
      

  3.   

    费时的操作用线程来实现,这和DELPHI没有关系,是操作系统的问题.<WINDOWS核心编程>一书看看.
      

  4.   

    多谢二位,不知道关于delphi还有什么好点的书没?我不想要基础的,我想看那种很有思想的
      

  5.   

    呵呵,有思想的就看Martine Fowler的书.可惜他的书示范代码全是JAVA和C#的.
    DELPHI方面建议你看看李维的<Inside VCL FrameWork>.
    关于线程方面的资料很多,
    我建议你看看Brian Long的一些相关专题文章和他的网站www.blong.com