我有两个ActiveX服务器需要处理它的事件。
第一个问题我没有问题,但第二个问题我得到一个错误,一旦我试图分配一个新的事件。执行代码的代码如下:
public delegate void ICwGetXEvents_OnCommandExEventHandler(uint CommandW, uint CommandL, string CommandText);
public CwGet.CwGetXClass ax_CwGet;
//event
public void CwGetXEvents_OnCommandExEventHandler(uint CommandW, uint CommandL, string CommandText)
{
if (CommandL == 4)
{
//some code
}
}
//ok here is how I assign the controls and event:
ax_CwGet = new CwGetXClass();
ax_CwGet.OnCommandEx += CwGetXEvents_OnCommandExEventHandler;
好的,对于第二个控件(通过它由同一个公司创建的方式),我尝试了同样的方法:
public delegate void ITrueTtyXEvents_OnCallsignEventHandler(string Call);
public truetty.TrueTtyXClass ax_truetty;
//event
public void TrueTtyXEvents_OnCallsignEventHandler(string Call)
{
//somecode
}
ax_truetty = new TrueTtyXClass();
ax_truetty.OnCallsign+= TrueTtyXEvents_OnCallsignEventHandler;
但是,当我创建新的可工作的ActiveX对象,但当我去分配事件时,我得到这个错误:
“由于应用程序正在调度输入同步调用,因此无法进行传出调用。(来自hresult的异常:0x8001010D(rpc_e_cantcallout_ininputsyncCall))“
想知道是否有人能给我指明正确的方向。
迈克