经典ASP(vbscript)中的事件捕获 - 这可能吗?

时间:2010-07-20 09:23:39

标签: asp-classic vbscript event-handling activex

我们刚刚购买了一些软件,可以为我们的手机系统提供API,允许我们拨号,挂断等.API设计用于客户端(Internet Explorer / activex)。我们希望使用此服务器端并通过对经典ASP脚本的ajax调用来执行拨号命令。

初始化组件的基本VBScript如下:

<%
 set objPhone = server.createobject("XariosPhoneManager.PhoneManager")
 objPhone.RemoteHost = "192.168.0.17"
 objPhone.RemotePort = "2001"
 objPhone.OAIPassword = ""
 objPhone.Extension = "1000"
 objPhone.Initialise()
 set objPhone = nothing
 %>

但我不能拨打拨号命令

objPhone.MakeCall("1001")

直到“初始化”事件发生。在执行某些代码之前,在经典ASP中有没有办法等待事件触发?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

不是最优雅的解决方案,但你可以捕获错误然后循环并重新尝试调用,如果它失败然后你再试一次 - 你可以在循环中暂停,让过程有机会完成。您还可以对尝试次数进行限制,以便它最终放弃并且不会在infinate循环中结束。像(不完整或测试)的东西:

numTries = 0
processComplete = False
Do Until processComplete or numTries>=10
  On Error Resume Next  
  '## YOUR CODE TO CALL THE PROCESS HERE
  On Error Goto 0  
  numTries=CDbl(numTries)+1
Loop

答案 2 :(得分:0)

我对这个组件一无所知,所以以下内容涉及一些猜测。

1)如果组件具有跟踪初始化时的属性,则可以检查该组件,并在初始化后调用MakeCall方法。

2)我猜测该组件有一个OnInitializedComplete事件(或类似的事件),如果是这样,请在JScript中编写服务器端代码并​​为事件分配一个函数。