我写了一个用于IE的ActiveX控件,在自己的调试机器上可以正常使用,但是注册到别人的电脑上之后,在IE里控件无法显示,脚本错误提示:"对象不支持此属性或方法:Player1.MonitorNum"。请问如何解决?测试用的页面如下:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<TITLE>对象 Player 的 ATL 7.0 测试页</TITLE>
</HEAD>
<BODY>
<OBJECT NAME="Player1" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player2" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player3" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player4" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<Script Language="VBScript">
Player1.MonitorNum = 4
Player1.IPAddr = "192.168.0.1"
Player1.PlayerID = 0
Player2.MonitorNum = 4
Player2.IPAddr = "192.168.0.1"
Player2.PlayerID = 1
Player3.MonitorNum = 4
Player3.IPAddr = "192.168.0.1"
Player3.PlayerID = 2
Player4.MonitorNum = 4
Player4.IPAddr = "192.168.0.1"
Player4.PlayerID = 3
</Script>
</BODY>
</HTML>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<TITLE>对象 Player 的 ATL 7.0 测试页</TITLE>
</HEAD>
<BODY>
<OBJECT NAME="Player1" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player2" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player3" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<OBJECT NAME="Player4" CLASSID="CLSID:ABECDF3A-96BF-428F-AD4F-F6A0E60992E1"></OBJECT>
<Script Language="VBScript">
Player1.MonitorNum = 4
Player1.IPAddr = "192.168.0.1"
Player1.PlayerID = 0
Player2.MonitorNum = 4
Player2.IPAddr = "192.168.0.1"
Player2.PlayerID = 1
Player3.MonitorNum = 4
Player3.IPAddr = "192.168.0.1"
Player3.PlayerID = 2
Player4.MonitorNum = 4
Player4.IPAddr = "192.168.0.1"
Player4.PlayerID = 3
</Script>
</BODY>
</HTML>
用studio的depends看看
注册了吗?
InprocServer32中有路径信息,看看这个路径与预想的是否一致
正如SchoolBoy() 说的,如果你的vc大了sp5,别人的机器上没有的话,注册的时候不会出错(弹出正确注册的对话框),但实际上注册没有成功