ocx 调用 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“bf7e992c-393f-4626-bcf5-bbab7f81b2dd”
作者:互联网
类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法
解决办法是Form类中定义一个静态的ActiveX对象,在class中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可.
public static Axhnisi_ssdkProj.Axhnisi_ssdk ssdkProj = new Axhnisi_ssdkProj.Axhnisi_ssdk();
public int CallOCXService(string serverName = "")
{
var str = "";
// Axhnisi_ssdkProj.Axhnisi_ssdk ssdkProj = new Axhnisi_ssdkProj.Axhnisi_ssdk();
ssdkProj.CreateControl();
//开始初始化ocx对象
ssdkProj.BeginInit();
str = ssdkProj.GetJkxx();
// 结束初始化
ssdkProj.EndInit();
//将控件添加到host中
outputData = str;
}
标签:控件,ssdkProj,ActiveX,ssdk,bf7e992c,Axhnisi,类中 来源: https://www.cnblogs.com/56982173513871739239lex/p/14817483.html