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

如何在VBScript StartConnection方法中使用变量,vbscript,hta,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 = "Fal

我尝试用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
是配置文件名称
StartConnection
StopConnection
是用于与IBM PCOMM建立连接的方法

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

PROFILE=[']['] [CONNNAME=] [WINSTATE=] 当我尝试在没有变量的情况下运行代码时,代码会正常工作,但当我尝试使用变量时,会出现以下错误:

ECL37240:无效的WS-profile名称。无效数据

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


注意:我已经检查了变量的值,并且都是正确的

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

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

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

Hi Ansgar..这不是一个重复的问题。这是关于IBM PCOMM连接对象以及如何在startConnection方法中传递变量以将HTA应用程序连接到IBM PCOMM的问题。请回复..Hi Mithilesh..非常感谢..它可以工作:):)Hi@Mithilesh Indurkar,您的方法可以工作,但对于以下代码无效:Obj.SetConnectionByName(DSSession)它将会话作为D,因为DSSession中的D不是用户提供的。是否有方法传递此变量。许多感谢您所得到的错误是什么?@Kamakshya请记住接受对您有效的答案(通过单击答案旁边的勾号),以表示感谢。另外,对于上面的问题,我认为您需要问另一个问题如果我使用(&dsession&),我会得到语法错误。如果我使用(&dsession&),我会得到AUTECL:传递的输入参数无效。谢谢:)
If Obj.Started = "False" Then
  Msgbox(dtext)
  Msgbox(dsession)
  Mgr.StartConnection("profile=" & dtext & " connname=" & dsession &"  WINSTATE=MAX")    
End if