Multithreading ocx中的事件没有';单线单元(STA)中的t形天井
我试图通过代码手动创建ocx控件(因为我需要在web应用程序中使用此控件,所以我创建了一个表单应用程序并使用此控件进行测试),当前程序是STA模式Multithreading ocx中的事件没有';单线单元(STA)中的t形天井,multithreading,events,activex,ocx,sta,Multithreading,Events,Activex,Ocx,Sta,我试图通过代码手动创建ocx控件(因为我需要在web应用程序中使用此控件,所以我创建了一个表单应用程序并使用此控件进行测试),当前程序是STA模式 AxC_FaceServerSdk axc = new AxCFaceServerSdkLib.AxC_FaceServerSdk(); axc.CreateControl(); axc.OnEventCConnect += delegate(object sender, _DFaceServerSdk
AxC_FaceServerSdk axc = new AxCFaceServerSdkLib.AxC_FaceServerSdk();
axc.CreateControl();
axc.OnEventCConnect += delegate(object sender, _DFaceServerSdkEvents_OnEventCConnectEvent e)
{
MessageBox.Show("raised");
};
axc.C_ServerInit(30000, 0);
我认为这个控制正常工作,因为我看到里面的linstener正在工作!
但这件事从未发生过
然后尝试了另一种方法:将ocx控件拖动到窗体中,并使用以下代码:
this.axC_FaceServerSdk1.C_ServerInit(30000, 0);
this.axC_FaceServerSdk1.OnEventCConnect += delegate(object sender, _DFaceServerSdkEvents_OnEventCConnectEvent e)
{
MessageBox.Show("raised");
};
事件发生
有人知道为什么吗?太棒了!解决了。。。看下面:太棒了!解决了它。。。见下文: