我有一个服务程序(用ATL COM 向导生成的),其中实现了一个
ActiveX接口,用以监控服务的运行状态,其中定义了一个事件接口,每当服
务状态变化时(调用入接口的Show方法也会)激发这个事件的OnShow方法;
控件实现了IDispatch,IProvideClassInfo2Impl,
IConnectionPointContainerImpl等接口。页面中的代码如下:
<html>
<body>
<object id=my classid="clsid:B02972F2-3768-11D8-B3F7-
000C29BF8942" onshow="OnShow()">
</object>
<script for=my event="OnShow()" language="Javascript">
alert('hello,world!');
</script>
<input type="button" value="Press" onclick="my.Show
();"></input>
</body>
</html>
现在的问题是:
当我按下按钮时并未激发事件,而同样的实现方法,如果ActiveX控件在
DLL中实现则可以激发事件。用其他语言如vb,delphi,vc等写的客户端程序不管ActiveX控件在service或DLL中都可以激发事件。不知为何?