有一个bitmap对象,主线程不做任何操作,在工作线程中画图并显示在image上,image的canvas已经加了lock了,还是有时候要出问题,是否对bitmap的canvase也要加上lock?如果是,请问为什么要加?map.canvas.fillrect(rect(0,0,640,150));
image1.canvas.lock;
image1.canvas.draw(0,0,map);
image1.canvas.unlock;

解决方案 »

  1.   

    lock和unlock保证这个线程运行
    image1.canvas.draw(0,0,map); 
    时其他线程不能操作这个canvas
      

  2.   

    说清楚点:画图的过程是先在bitmap上面画图,画好后再用image把这个bitmap显示出来
    我的线程是用createthread函数创建的;
    VCL不是线程安全的,
    我已经把image的canvas lock了难道还要把bitmap的canvas也lock了吗?
    Tbitmap不是vcl吧,主线程什么都不做,不存在线程同步的问题啊!
    老是出问题
    我要疯了!