类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法

解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可.

public static AxClientDriver_NTLib.AxClientDriverCtrl com = new AxClientDriver_NTLib.AxClientDriverCtrl();

private void Form1_Load(object sender, EventArgs e)
{
com = this.axClientDriverCtrl1;
isRunning = true;

this.FormClosing += Form1_FormClosing;
Thread t = new Thread(StartServer);
////t.SetApartmentState(ApartmentState.STA);//关键设置
t.Start();

}

public class A

{

public void GetZhiWen()

{

//new AxClientDriver_NTLib.AxClientDriverCtrl().GWQ_SignFinger(); /*报错:

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“f1b35062-91ea-47fd-a71e-872c114220b0”。System.Threading.ThreadStateException: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“f1b35062-91ea-47fd-a71e-872c114220b0”。*/

Form1.com.GWQ_SignFinger();

}

}

原文地址:https://www.cnblogs.com/xuejianxiyang/p/8675559.html

时间: 2024-12-21 18:45:55

类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法的相关文章

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件

"/"应用程序中的服务器错误. 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件"c552ea94-6fbb-11d5-a9c1-00104bb6fc1c". 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Threading.ThreadStateException: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件"

mysql8.0+运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 解决办法

话不多说,从错误即可知道是时区的错误,因此只要将时区设置为你当前系统时区即可, 因此使用root用户登录mysql,按照如下图所示操作即可. 我电脑的系统为北京时区,因此在系统中设置后,再连接数据库运行,一切OK! mysql8.0+运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 解决办法 原文地址:https://www.cnblogs.co

svn报错cleanup failed–previous operation has not finished; run cleanup if it was interrupted的解决办法

今天在svn提交的时候它卡顿了一下,我以为已经提交完了,就按了一下,结果就再也恢复不了,也继续不了了... 报错 cleanup failed–previous operation has not finished; run cleanup if it was interrupted 试过执行cleanup,结果也是失败,要更新先要cleanup,但是cleanup的失败信息又叫我cleanup……这是一个死循环! 感觉这是一个设计上的缺陷:使用工作队列来保存数据,后一个操作依赖于前一个操作的结

Mac和Linux报错: dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib的解决办法

在mac系统下,执行谷歌机器学习框架 Tesseract时,报错: dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib 原因是在/usr/local/opt/jpeg/lib/路径下找不到 libjpeg.8.dylib文件. 解决方法: 以下命令按顺序在终端进行执行: 1:   wget -c http://www.ijg.org/files/jpegsrc.v8d.tar.gz2:   tar xzf jpegs

.net winform 调用类中的webbrowser 报错:当前线程不在单线程单元中,因此无法实例化 ActiveX

遇到这个恶心的问题纠缠得不要不要的,大家遇到了的话希望不要走弯路,经过这个折腾让我有点怀疑人生了.哈哈哈 解决代码如下: //创建新线程专门用于跑子窗 Thread thd = new Thread(new ParameterizedThreadStart(ShowNotify)); thd.SetApartmentState(ApartmentState.STA);//关键设置 thd.IsBackground = true; thd.Start(); Thread.CurrentThread

jeecg启动报错“com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.”的解决办法

在运行"maven build"-->"tomcat:run"之后,报如下错误: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

centos 报错 “Job for iptables.service failed because the control process exited with error code.”的解决办法

原因:因为centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,或者干脆使用默认的firewalld防火墙. 操作步骤: 关闭防火墙 1.systemctl stop firewalld 2.systemctl mask firewalld 在使用iptables服务 #开放443端口(HTTPS)3.iptables -A INPUT -p tcp --dport 443 -j ACCEPT #保存上述规则4.service ip

验证控件报错和验证控件不起作用

本人安装的是vs2013旗舰版,在做验证控件的练习时,开始出现一个错误,如下图 这个问题是由于创建的项目中没有添加jquery引用导致的,解决方法是在项目中添加引用,添加引用-浏览-添加目录C:\Program Files (x86)\Microsoft Web Tools\Packages\AspNet.ScriptManager.jQuery.1.8.2\lib\net45\AspNet.ScriptManager.jQuery.dll文件,ok. 解决上面的问题后,又出现验证控件不起作用,

Qt类声明中Q_OBJECT的作用与报错解决

2017-06-22 周四 大雨 北京 院里 新建作图类,继承自QCUstomPlot类 因为需要同时作8张图,都要单坐标缩放的功能,因此想干脆新建一个类,继承自QCUstomPlot,把需要的功能都加上.类名取为QCUstomPlotPlus,最终成功版类代码如下: //声明.explicit是为了禁止隐式转换. class QCustomPlotPlus : public QCustomPlot { Q_OBJECT //重要! public: explicit QCustomPlotPlu