在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
2008-12-02 12:17
411 查看
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
程序之前运行正常,我只是在一个事件中定义了做了如下操作,程序抛出此异常
程序之前运行正常,我只是在一个事件中定义了做了如下操作,程序抛出此异常
static void Main() { Thread newThread = new Thread(new ThreadStart(ThreadMethod)); newThread.SetApartmentState(ApartmentState.MTA); // The following line is ignored since // ApartmentState can only be set once. newThread.SetApartmentState(ApartmentState.STA); Console.WriteLine("ThreadState: {0}, ApartmentState: {1}", newThread.ThreadState, newThread.ApartmentState); newThread.Start(); // Wait for newThread to start and go to sleep. Thread.Sleep(300); try { // This causes an exception since newThread is sleeping. newThread.SetApartmentState(ApartmentState.STA); } catch(ThreadStateException stateException) { Console.WriteLine("\n{0} caught:\n" + "Thread is not in the Unstarted or Running state.", stateException.GetType().Name); Console.WriteLine("ThreadState: {0}, ApartmentState: {1}", newThread.ThreadState, newThread.GetApartmentState()); } } static void ThreadMethod() { Thread.Sleep(1000); }
相关文章推荐
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 遇到的问题-----------c#在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- ex = {"在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。 解决办法
- 选择目录,选择文件夹的COM组件问题。在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
- 遇到的问题-----------c#在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 其他信息:在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式
- (转)在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记。
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttr
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记。
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
- 在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记。 多线程操作剪切板的时候。
- C#“必须先将当前线程设置为单个线程单元(STA)模式方可进行OLE调用”异常解决方案