我在线程里显示模式窗体是要错误,要怎么才能在线程里开模式窗体
错误是:Canvas does not allow drawing

解决方案 »

  1.   

    其实就是同步的问题,主线程不可能在draw form1的canvas的同时,又画form2的Canvas,,解决的方法如下:
    1.首先,增加一个线程的私有方法 CreateForm,代码Execute的代码;
    2.将线程的Execute的代码换成 Synchronize(CreateForm); 就OK了!在Delphi7中,多线程中很多问题都是同步的问题,通过这种方法大多数能解决
      

  2.   

    对,不过,在线程中操作窗体是不推荐的。
    应该在主线程,其实像上面的做法:Synchronize(CreateForm); 本质上就是在主线程中做的。我们有工作线程和主线程的区别。工作线程完成一些后台的逻辑运算,主线程完成界面的操作 。