alex33
Скриптер
- Сообщения
- 1,457
- Репутация
- 186
Object referenced outside a "With" statement.
Теперь пробуем это же проделать в VBScript .vbs :
И вот здесь будет работать как первый вариант, так и второй. А в AutoIt только второй.
Почему так
Код:
Opt("MustDeclareVars", 1)
Local $oSC, $oUser
$oSC = ObjCreate("ScriptControl")
$oSC.Language = "JavaScript"
$oUser = $oSC.Eval('({"name":"qwe", "email":"[email protected]", "datetime":"01.01.2018 02:45", "avatar":{"width":300, height:200, "src":"images/pic.jpg"}})')
With $oUser
MsgBox(0, "", .name & @TAB & .email & @TAB & @CRLF )
;~ With .avatar; ==> Object referenced outside a "With" statement.
With $oUser.avatar
MsgBox(0, "", @TAB & .width & @TAB & .height & @TAB & .src & @CRLF )
EndWith
MsgBox(0, "", .datetime & @CRLF )
EndWith
Теперь пробуем это же проделать в VBScript .vbs :
Код:
Dim oSC, oUser
Set oSC = CreateObject("ScriptControl")
oSC.Language = "JavaScript"
Set oUser = oSC.Eval("({""name"":""qwe"", ""email"":""[email protected]"", ""datetime"":""01.01.2018 02:45"", ""avatar"":{""width"":300, height:200, ""src"":""images/pic.jpg""}})")
With oUser
MsgBox( .name & chr(9) & .email & chr(9) )
With .avatar
' With oUser.avatar
MsgBox( chr(9) & .width & chr(9) & .height & chr(9) & .src )
End With
MsgBox( .datetime )
End With
Почему так