我在C#的窗体(winform)中插入Shockwave Flash Object组件,并设置好了FLASH文件,但在运行中却出现了下面的错误:
未处理的ThreadStateException
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“d27cdb6e-ae6d-11cf-96b8-444553540000”。 请问怎样解决呀!!! 如果重新新建这个工程,运行后又一切正常了。
未处理的ThreadStateException
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“d27cdb6e-ae6d-11cf-96b8-444553540000”。 请问怎样解决呀!!! 如果重新新建这个工程,运行后又一切正常了。
可是我莫名的就是其实在新建工程的时候[STAThread]就是自动添加上去的。不需要手工添加这段代码。运行代码仍然会报ThreadStateException异常。
尝试使用ApartmentState,异常仍然存在。
利用单独创建线程,错误的确没有了,但破坏了主线程的逻辑,原本主线程是先播放flash,然后执行之后的代码,给客户一种显示的效果。加了线程之后,有可能就是先执行了之后的代码,然后再播放flash,或者索性flash就不播放了。所以一系列的问题困扰着我。希望大家能够帮我想想办法。谢谢。
我也想试验一下,谢谢!
flashcontrol.movie=flash文件地址;
flashcontrol.play();