作者ithinkurdumb (ithinkurdumb)
看板C_Sharp
标题Re: [问题] delegate.BeginInvoke跟control.invoke …
时间Fri Nov 23 01:06:15 2007
藉这个thread请教一个最近碰到的问题.
FormMain.cs是UI,
FileIO.cs是做file i/o (duh!) 的worker thread.
我在FileIO里面使用FormMain.Invoke来call FormMain里头的function,
去变更UI的一个PictureBox.
我程式是在只有一个CPU的laptop上面写的,
跑了很多次都没问题.
但是移到SMP或Core Duo的工作站上跑的时候,
就会出现object is currently in use elsewhere的exception,
PictureBox也会出现可怕的Red Cross.
请问一下这样有可能的原因是什麽?
Control.Invoke不是会强制在UI Thread执行吗?
谢谢 :)
* * *
补充一下,
如果我把变更PictureBox的function改成变更Form的Text,
那就一切正常.
搜寻一下发现好像蛮多object is...的错误都和Bitmap或是PictureBox有关...@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.17.11
※ 编辑: ithinkurdumb 来自: 210.64.17.11 (11/23 03:07)
1F:推 toki:没遇过这种,贴picturebox那段上来大家研究看看? XD 11/23 09:47