选择目录,选择文件夹的COM组件问题。在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器
Posted 未将对象引用设置到对象的实例
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择目录,选择文件夹的COM组件问题。在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器相关的知识,希望对你有一定的参考价值。
异常:
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
方法1:
class Program { /// <summary> /// 图片资料文件同步 /// </summary> /// <param name="args"></param> [STAThread] //加这个属性,创建并进入单元 static void Main(string[] args) { Form1 f1 = new Form1(); f1.ShowDialog(); Console.Read(); } public static void f1() { Form1 f1 = new Form1(); f1.ShowDialog(); } }
方法2:
class Program { /// <summary> /// 图片资料文件同步 /// </summary> /// <param name="args"></param> static void Main(string[] args) { Thread newThread = new Thread(f1); //newThread.SetApartmentState(ApartmentState.MTA); newThread.SetApartmentState(ApartmentState.STA);//设置这个参数,指示应用程序的COM线程模型 是 单线程单元 newThread.Start(); Console.Read(); } public static void f1() { Form1 f1 = new Form1(); f1.ShowDialog(); } }
以上是关于选择目录,选择文件夹的COM组件问题。在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器的主要内容,如果未能解决你的问题,请参考以下文章
开机显示failde to initialize MainWindow 对COM组件的调用返回了错误HRESULTE-FAIL,怎么解决