在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式

发布时间:2019-06-18 09:45:42.38编辑:佚名阅读(412)

错误内容:在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。

引起原因:多线程异步调用或者创建新窗体时,出现该错误。

解决方法:

1、修改main函数 ,前面添加[STAThread]标示(貌似IDE默认)

[STAThread]
static void Main()

2、在线程创建处设置模式属性ApartmentState

例如:

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(SaveName));
t.SetApartmentState(ApartmentState.STA);//或者t.ApartmentState =ApartmentState.STA
t.Start();


  关键字:在可以调用OLE之前必须将当前线程设置为单线程单元(STA)模式


鼓掌

0

正能量

0

0

呵呵

0


评论区