P pzhiwyj Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-31 #1 我建立了两个线程,每一个线程对应一个PaintBox ,因为涉及到VCL组件,故用Synchronize 来调用作图函数,为什么只有先调用的那个线程起作用呢???
Y youngcle Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-13 #2 你用Synchronize自然不能同时做。去掉试试吧。尽管这样线程不安全。
L lzwcd Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-14 #3 去掉Synchronize不好。 可以考虑把绘图操作划分为很多个小操作,然后在子线程中用Synchronize执行这些小操作,这样看起来也是同时在绘图的
C chief_marshal Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-17 #4 对于vcl中的图形对象来说,可以让多个线程同时访问,所以用不用Synchronize没有关系。检查一下你的两个子线程是如何建立的。我觉得问题是在这里!
D delphi_king Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-17 #5 在delphi 中有一个demo叫ThrdDemo的,里面就用了3个PaintBox。
木 木子 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-17 #6 Synchronize调用的一个过程中,对两个PaintBox进行绘画就行了
I ice_xq Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-17 #7 你把源码贴出来嘛。 按你的叙述,应该两个都起作用的。
F feifeich Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-19 #10 TFont, TPen, TBrush, TBitmap, TMetafile (仅适用VCL), TDrawing (仅适用CLX), or TIcon 都是线程安全的,不需要从主线程中访问,Canvas对象也可以不用Synchronize调用,操作前调用Lock方法,操作完后调用Unlock方法。
TFont, TPen, TBrush, TBitmap, TMetafile (仅适用VCL), TDrawing (仅适用CLX), or TIcon 都是线程安全的,不需要从主线程中访问,Canvas对象也可以不用Synchronize调用,操作前调用Lock方法,操作完后调用Unlock方法。