【发布时间】:2014-12-17 13:23:46
【问题描述】:
我的解决方案中有两个项目,每个项目都有一种形式。
我试图在 if 语句中打开第二个表单,但发生的情况是,当声明新表单时,代码突然中断,并在未完成声明的情况下移动到 client.close();。
我通常在 asp.net 中编程,以前从未见过这样的东西,代码永远不会运行到 .ShowDialog() 并且不会因错误而中断。
else if (DeviceRead == "DeviceRead:2")
{
_RequestID = RequestID.Remove(0, 10);
_DeviceID = DeviceRead.Remove(0, 11);
//this.Hide();
GenericEPadDemo.frmMain sig = new GenericEPadDemo.frmMain();
sig.ShowDialog();
}
}
s.Close();
}
finally
{
client.Close();
}
返回的错误是:ActiveX control '30778fc6-eaba-43a7-ba39-6875a3b16057' 无法实例化,因为当前线程不在单线程单元中。
【问题讨论】:
-
您正在抑制一个异常;可能索引或范围
-
那一行产生了异常?有什么例外?
-
@AdrianNasui 我添加了一个 try catch 并将错误放在上面。
-
您是否在 Windows 窗体中使用 OCX 控件?如果没有,你有病毒:P
-
@AdrianNasui 我看到了那个,但我不明白我应该在哪里创建一个新线程,它也没有解释什么是“MyThreadStartMethod”