在.NET里我引入了TestControl.ocx组件。里面有3个事件OnEvent1,OnEvent2,OnEvent3
在.NET中加入事件处理代码:
test.OnEvent1 += new TestControl._OnEvent1Handler(this.OnEvent1);
test.OnEvent2 += new TestControl._OnEvent1Handler(this.OnEvent2);
test.OnEvent3 += new TestControl._OnEvent1Handler(this.OnEvent3);
...
private void OnEvent1(ref object obj)
{
...
}
private void OnEvent2(ref object obj)
{
...
}
private void OnEvent3(ref object obj)
{
...
}
很奇怪的是每次只能加一个处理事件,否则就产生异常"ComException"在HRESULT XXX。
有没有谁碰到过这种情况??
急啊!!!!

解决方案 »

  1.   

    楼主,你用的是ocx的com控件,它们无事件列表,有的COM控件事务是消息激发的,有的是函数回调。所以只能一次加一个事件
      

  2.   

    那应该怎么处理呢?
    我看了一下在VC下的DEMO用的是3个ON_EVENT映射。
    在.Net下应该怎么处理呢?
    另外3个事件有顺序分别1,2,3
      

  3.   

    在VC下的DEMO中它使用的是3个3个ON_EVENT映射,在.Net下应该有没有对应的较好的处理方法呢,如果是函数回调该如何处理呢?不会只能每次一个响应之后再删除它然后添加另一个吧,能否预先把几个事件都加进去,随便他调那一个呢?