我在一个非常古老的经典 ASP Web 应用程序上完成了一些维护任务,而对于 VBScript,我有点一无所知......
我想知道是否可以使用 MSScriptControl.ScriptControl 对象的 Eval 方法设置变量的值。另请注意,在调用 Eval() 之前使用 ScriptControl 的 AddCode 方法在特定情况下不是一个选项。这是一些演示问题的示例代码:
Dim so,rs,someVar
set someVar=...
set so=server.CreateObject("MSScriptControl.ScriptControl")
so.Language = "VBScript"
so.AllowUI = False
so.AddObject "someVar",someVar
' I get a syntax error here
rs = so.Eval(scrObject.Eval("set someVar = Nothing" & "set someVar = CreateObject("+Chr(34)+"Wscript.Shell"+Chr(34)+")" & "response.write(someVar.CurrentDirectory)"))
' if I try something like this I get a syntax error as well..
rs = so.Eval("Dim someVar2 : someVar2="+Chr(34)+"test"+Chr(34)+" : response.write(someVar2)")
我知道 Eval 方法用于评估表达式,表达式不是声明或设置变量值的最合理的地方,但我想知道它是否仍然可能以某种方式。
非常感谢您的帮助。