我有个ActiveX控件, 里面定义了定时器.我在网页里面放置了多个:
<HTML><OBJECT ID=ntgraph WIDTH="50%" HEIGHT="50%" CLASSID="CLSID:C9FE01C2-2746-479B-96AB-E0BE9931B018">
</OBJECT><script>
ntgraph.MyRefresh()
</script>
<OBJECT ID=ntgraph2 WIDTH="50%" HEIGHT="50%" CLASSID="CLSID:C9FE01C2-2746-479B-96AB-E0BE9931B018">
</OBJECT><script>ntgraph2.MyRefresh()
</script></HTML>
但是只有第一个控件被触发了, 第二个, ntgraph2的OnTimer没有被触发.
不知道为什么.

解决方案 »

  1.   

    我要每个控件都能触发OnTimer事件,应该怎么做多谢!
      

  2.   

    如果控件是自己写的,您应该有两种方法解决这个问题:
    第一种,不要使用OnTimer事件方式,您可以采用单独的线程函数加上“Sleep(毫秒值);”的方法代替,这样可以避免消息机制对您定时时间的影响。
    第二种,您仍然用OnTimer事件,不过这样您可能要在控件中另外编写一个函数,负责COM引用计数的查询和相应的消息转发,这样可以通过激活的控件转发定时器消息给其他同类控件,不过这种方法不一定可行。