我使用atl创建了一个com,在这个com里我定义了一个连接点Fire_onStop。在这里面有一个类Caudio负责声音数据的编码,这个类里面有一个线程函数Convert负责编码。
当编码完毕时我想在这个类里面调用这个Fire_onStop。在接口里类里面把Caudio实例化Caudio * m_mp3.然后使用m_mp3-》Convert调用编码函数。问题是在这个convert里面如何调用Fire_onStop?
编译的话提示Fire_onStop没有定义,如何解决,还是这样的思路不对,请大家指教,谢谢!!

解决方案 »

  1.   

    可能是VC的BUG,最好是最后实现连接点,你可以重新实现连接点看看,,,应该会成功...
      

  2.   

    Fire_onStop要在接口实现类代码里调用,不要在其他类里调用,尤其不要在其他线程里调用,不是不行而是比较复杂,不熟悉连接点的话不要自找麻烦,非要这样做也可以,但是一两句话说不清楚啊。
    另,这个问题20分太少了吧呵呵。
      

  3.   

    其实你这样做是可以的,提示onStop未定义,估计是你调用的方式不对...可以这样试试,定义静态的组件指针,假设是pcom,在播放完了以后pcom->onStop(),通知调用者播放结束。