Events VB6用户控件引发事件,如何在VBSCRIPT中捕获该事件?

Events VB6用户控件引发事件,如何在VBSCRIPT中捕获该事件?,events,user-controls,vb6,vbscript,activex,Events,User Controls,Vb6,Vbscript,Activex,我试图在html页面的VBSCRIPT中捕获事件,但无法使其正常工作。我一定错过了一步 这是我的usercontrol(VB6)的代码: 这是我的网页代码(HTML): 子ActiveX\u发送文本(文本) Msgbox(“aaa”和文本) 端接头 单击Command1按钮时会在用户控件中引发该事件,但我从未进入VBSCRIPT函数 我使用的是IE8/IE8标准 有什么线索吗?这是Internet Explorer中安全规则配置的问题。启用未签名的ActiveX后,问题得到解决。这是Inte

我试图在html页面的VBSCRIPT中捕获事件,但无法使其正常工作。我一定错过了一步

这是我的usercontrol(VB6)的代码:

这是我的网页代码(HTML):


子ActiveX\u发送文本(文本)
Msgbox(“aaa”和文本)
端接头
单击Command1按钮时会在用户控件中引发该事件,但我从未进入VBSCRIPT函数

我使用的是IE8/IE8标准


有什么线索吗?

这是Internet Explorer中安全规则配置的问题。启用未签名的ActiveX后,问题得到解决。

这是Internet Explorer中安全规则配置的问题。启用未签名ActiveX后,问题得到了解决。

我首先想到的是在脚本事件处理程序的参数列表中使用
ByVal
,以匹配事件的签名。我已将该方法的VBSCRIPT签名更改为匹配usercontrol中定义的签名(ByVal文本为字符串)但它并没有解决这个问题:+|在VBScript中没有
作为字符串,所以这没有帮助。您可以尝试将VB6用户控件更改为将
用作变量
,但我怀疑它为什么不起作用。我的错误是,我第一次使用Vbscript。下面是完整的测试用例:这甚至可能是因为您在定义对象之后定义了脚本。HTML按顺序被解析和处理,因此可能没有发生事件绑定。我发现将几乎所有脚本放在页面的
标题中而不是
正文中要干净得多。我首先想到的是在脚本事件处理程序的参数列表中使用
ByVal
,以匹配事件的签名。我已将该方法的VBSCRIPT签名更改为与usercontrol(ByVal文本作为字符串),但它没有解决这个问题:+|在VBScript中没有
作为字符串,所以这没有帮助。您可以尝试将VB6用户控件更改为将
用作变量
,但我怀疑它为什么不起作用。我的错误是,我第一次使用Vbscript。下面是完整的测试用例:这甚至可能是因为您在定义对象之后定义了脚本。HTML按顺序被解析和处理,因此可能没有发生事件绑定。我发现将几乎所有脚本放在页面的
头部
而不是
正文
中要干净得多。
Public Event sendText(ByVal Text As String)

Private Sub Command1_Click()
    RaiseEvent sendText(Text1.Text)
End Sub
<form>

<OBJECT name="ActiveX" id="ActiveX" classid="clsid:..."></OBJECT>
<script language="VBScript">

Sub ActiveX_sendText(Text)
 Msgbox("aaa" & Text)
End Sub

</script>
</form>