我写了一个数据采集的类. objMs23 当收到数据包后就触发一事件到 objPacket 类中去执行操作,在执行操作时还会触发另一事件到 objNode ,在objNode中处理完就会向界面传一事件,但这个事件就不触发了,提示未将对象引用到实例.
objMs23--->objPacket--->objNode--->FrmPrivate
请问一下如何才能将类objNode中触发的这个事件到窗体上去执行呢.
是因为线程的问题吗. 窗体在主线程中?????

解决方案 »

  1.   

    下面只是大概的意思
    frmprivate.load事件里objNode.SomeThingHasDone += this.objNode_SomeThingHasDone(object sender, EventArgs e);
      

  2.   

    一楼的兄弟,这个地方我已经加上了.
    这个事件本身应该没有问题了..
    我在frmprivate中单击按钮来调用objNode的一个函数,在函数中触发
    GetRemoteConfigProcess事件.
    这样是没有问题的...
    但是如果按以下流程来作:
    objMs23--->objPacket--->objNode--->FrmPrivate  那在objnode中就不触发GetRemoteConfigProcess事件了,而是提示未将对象初始化.
    (解释一下,objMs23这个类是专用于数据采集的,从串口采集到数据包就发给 objPacket,在objPacket处理完后再交给objNode处理,最后才交给界面,但交给界面这个事件就出错了)
      

  3.   

    GetRemoteConfigProcess 这个写的有问题,这个应该可以调试的么
      

  4.   

    如果想要调用objNode中的事件就要在frmPrivate 加入了以下代码
    objNode.GetRemoteConfigProcess+=new GetRemoteConfigProcess(objNode_GetRemoteConfigProcess);
    在这个窗体中有个按钮"Get"向串口发送了一个数据包,发送完以后按说远端就应该给我返回一个数据包.
     this.GotOnePacket(m.Packet);(objMs23中,已经成功触发)
    this.ReadPacket_Response(Packet);(objPacket中,已经成功触发)
    this.GetRemoteConfigProcess (GotData.BaseAddr);(objNode中,对象未初始化)
      

  5.   

    this.GotOnePacket(m.Packet);(objMs23中,已经成功触发)
    this.ReadPacket_Response(Packet);(objPacket中,已经成功触发)
    this.GetRemoteConfigProcess (GotData.BaseAddr);(objNode中,对象未初始化)上面这三个事件是按以下流程来完成的
    objMs23--->objPacket--->objNode--->FrmPrivate  
    也就是说到了类与窗体交互时就出了问题..你这个异步调用是怎么个调用法
      

  6.   

    我在组件类上面添加了一个TEXTBOX,在它下面增加了个_enter事件,但发现此事件永远不执行