描述:
我有一个服务程序(用ATL COM 向导生成的),其中实现了一个
ActiveX接口,用以监控服务的运行状态,其中定义了一个事件接口,每当服
务状态变化时(调用入接口的Show方法也会)激发这个事件的OnShow方法;
控件实现了IDispatch,IProvideClassInfo2Impl,
IConnectionPointContainerImpl等接口。
页面中的代码如下:
<html>
<body>
<object id=my classid="clsid:B02972F2-3768-11D8-B3F7-
000C29BF8942" />
</object>
<script for=my event="OnShow()" language="Javascript">
alert('hello,world!');
</script>
<input type="button" value="Press" />
();"></input>
</body>
</html>
现在的问题是:
当我按下按钮时并未激发事件,而同样的实现方法,如果ActiveX控件在
DLL中实现则可以激发事件。
用其他语言如vb,delphi,vc等写的客户端程序不管ActiveX控件在service或DLL中都可以激发事件。
不知为何?
解决方案1:
我对ASP不太懂,这种怪异的问题经常都能碰到!你要看看ASP调用机制和消息机制和VC有什么不同!调试的跟一下!看一下你的消息到底发送到哪一块去了?找到根源是最主要的!