[已解决]ObjCreate的错误?还是ScriptControl的错误?
本帖最后由 222222 于 2012-3-19 04:02 编辑http://www.autoitx.com/forum.php?mod=viewthread&tid=27656
下载了附件,运行代码如下:
Local $code
$key='CHSM'
$ujiap='5436413'
$code = FileRead("md5.js")
$nJS = ObjCreate("MSScriptControl.ScriptControl")
$nJS.language = "JavaScript"
$nJS.addcode($code)
$nReg = $nJS.eval('hex_hmac_md5("'&$key&'",str_md5("'&$ujiap&'"))')
MsgBox(0,0,$nReg)
控制台出现错误提示:
F:\au3\test6.au3 (6) : ==> ???????????("Object").:
$nJS.language = "JavaScript"
$nJS^ ERROR
->03:02:21 AutoIT3.exe 完成::1
+>03:02:22 ACNWrapper 完成..
>退出代码: 1 运行时间: 1.934 秒
出错后,采取了如下措施:
1、找到了其他调用这一语句的代码试运行。结果依然是这里出错。
2、重新到微软官方网站下载了Windows Script Control 并安装。结果错误依旧。
3、考虑到我是用的win7的64位旗舰版,所以将程序编译后用管理员身份运行。结果错误依旧。
4、把论坛所有javascript、js、ObjCreate、MSScriptControl、ScriptControl关键词的帖子看了,竟然发现好像就我一个人运行代码时出现这情况…… 5、尝试注册控件,win7管理员权限运行regsvr32 msscript.ocx成功,但是错误依旧。编译后的程序用用不同权限运行后的错误提示相同,均为:
Error:变量类型必须为对象类型(“Object”) 6、电脑WMI正常开启。没有经过优化什么的。 问题解决了。
编译时原来用的是默认的64位。现在用32位编译后正常。 楼主的一番研究也解决了我的问题
页:
[1]