我得到了一個很舊的經典ASP Web應用程序的一些維護任務,我當它涉及到VBScript中有點無知......麻煩與ScriptControl的的eval方法
我不知道是否有可能設置的值一個使用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方法是爲計算表達式和表達式是不能用於聲明或設置變量的值最合理的地方,但我想知道如果它仍然有可能以某種方式。
非常感謝您的幫助。
感謝您的回答,但並非如此簡單。使用ScriptControl似乎是唯一的方法。 –
要做*什麼*?請描述您嘗試解決的問題,而不是您認爲的解決方案。 –