如何在VBScript StartConnection方法中使用变量

时间:2017-06-29 09:12:51

标签: vbscript hta

我尝试使用VBScript作为脚本语言开发HTA应用程序。以下是代码:

Sub SysStart()
  Dim Mgr
  Dim autECLPSObj
  Dim autECLConnList
  Set Mgr = CreateObject("PCOMM.autECLConnMgr")
  Set Obj = CreateObject("PCOMM.autECLOIA")
  Obj.SetConnectionByName (dsession)
  If Obj.Started = "False" Then
    MsgBox(dtext)
    MsgBox(dsession)
    Mgr.StartConnection("profile=dtext connname=dsession WINSTATE=MAX")
  Else
    Mgr.StopConnection dsession, "saveprofile=no"
    Mgr.StartConnection("profile= dtext connname=dsession WINSTATE=MAX")
  End If
End Sub

变量dsession,dtext已经在同一程序中的另一个函数中定义。 这里dsession是会话名称,dtext是个人资料名称。 StartConnectionStopConnection是用于与IBM PCOMM建立连接的PCOMM.autECLConnMgr方法。

对于个人通信,配置字符串具有以下格式:

PROFILE=[']['] [CONNNAME=] [WINSTATE=]

相同的代码没有变量:

Dim Mgr
Dim autECLPSObj
Dim autECLConnList
Set Mgr = CreateObject("PCOMM.autECLConnMgr")
Set Obj = CreateObject("PCOMM.autECLOIA")
Obj.SetConnectionByName ("B")
If Obj.Started = "False" Then
  Mgr.StartConnection("profile=test1.WS connname=B WINSTATE=MAX")
Else
  Mgr.StopConnection "B", "saveprofile=no"
  Mgr.StartConnection("profile=test1.WS connname=B WINSTATE=MAX")
End If

当我尝试在没有变量的情况下运行代码时,但是当我尝试使用变量跟随错误时出现:

Error

  

ECL37240:无效的WS配置文件名称。数据无效

我的问题是:我们可以在StartConnection方法中使用变量吗?如果是,那么如何?

注意:我检查过变量的值,一切都是正确的。

1 个答案:

答案 0 :(得分:0)

我理解你的问题,你需要将变量值传递给startManager方法。您需要使用如下所示的变量

If Obj.Started = "False" Then
  Msgbox(dtext)
  Msgbox(dsession)
  Mgr.StartConnection("profile=" & dtext & " connname=" & dsession &"  WINSTATE=MAX")    
End if

'这是一个未经测试的代码。另外,我不是HTA专家。'