C# 调用 如何在多线程中调用 ocx中的函数啊。。。。。。
C# 调用 如何在多线程中调用 ocx中的函数啊。。。。。。
厂家提供的ocx有些函数是耗时的,主线程调用的话,会直接卡主主线程。
如何在子线程中调用啊。
我这边调用会报错。当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“db5d6116-f923-4aa0-83d9-d6538f55e174”。
方法上加上 [STAThread]也会报错
private void GetHistoryData()
{
new Thread(new ThreadStart(delegate()
{
try
{
AxNetMediaLib.AxNetMedia ax = new AxNetMediaLib.AxNetMedia();
ax.CreateControl();
ax.SearchTime("0075002A93", 2016, 10, 27, 0, 0, 0, 0, 0, 0, 0, 0);
string sResult = ax.SearchGetFileInfo();
Invoke(new MethodInvoker(delegate()
{
MessageBox.Show(sResult);
}));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
})) { IsBackground = true }.Start();
}