2012-03
22

AutoIt 错误 Error: 变量类型必须为对象类型("Object")解决办法


        程序打开或者执行某项操作的时候提示:AutoIt 错误 Error: 变量类型必须为对象类型("Object"),导致程序错误无法继续运行。很明显这表明了程序是AU3编辑的,那么解决方法自然就要从程序作者和用户两个方面进行解决。今天桑三博客就给大家分析下这个问题,从作者和用户的角度教大家如何解决Error: 变量类型必须为对象类型("Object")的问题。
 


 

        从这个错误的提示中,很明显给了我们两个信息:AutoIt和Object。
 

        AutoIt也就是AU3,这是一个脚本编程工具,由此可见,提示错误的这个程序是AU3编写。了解更多查看AutoIt的官网介绍:http://www.autoitscript.com/
 

        Object是一些相关的变量和方法的软件集,在程序主要表现为WMI(一项核心的Windows管理技术)的调用。了解更多可查看微软官方介绍: http://technet.microsoft.com/zh-cn/library/ee692772.aspx 
 

        既然知道了这些,那么解决问题自然就简单多了。首先如果你是用户,也就是程序的使用者,那么只能从WMI上去寻求解决方法了。WMI是全称是Windows Management Instrumentation (Windows 管理规范),是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。WMI 通过编程和脚本语言为日常管理提供了一条连续一致的途径。而系统里也有一个服务显示名称为Windows Management Instrumentation,显示名称为winmgmt。如果这个服务被禁用导致无法启动,那么自然而然WMI就相关的都无法运行, Object也就出现了错误无法获得。
 

        因此,如果你是用户的话,那么直接到开始-》设置-》控制面板-》管理工具-》服务里找到Windows Management Instrumentation,双击它把启动类型改成“自动”即可。

        通过上述设置,程序应该就不会有Object错误了。反过来,如果你是程序的作者,那么就应该在程序条用Object的前做一个判断,检查winmgmt这个服务是不是被禁用或者手动了。如果这个服务不是自动的,那么就设置它为自动即可。各个编程语言的设置方法可能有所不同,但思路是一样的。下面桑三博客就给大家示范下AU3语言中的方法:
 

AutoIt代码
  1. Func winmgmt()  
  2.     Local $SERVICETEST = ObjGet("winmgmts:\\.\root\cimv2")  
  3.     If @error Then  
  4.         _RunDOS("sc config winmgmt start= auto")  
  5.     EndIf  
  6. EndFunc   ;==>winmgmt桑三博客 Www.SangSan.Cn  

 

         定义这个winmgmt的函数来做判断这个服务是否正常,如果不正常就设置为自动,然后你只需要在调用Object之前调用下这个函数即可。
 

          至此,AutoIt 错误 Error: 变量类型必须为对象类型("Object")问题完美解决。





上一篇: 应用程序错误:应用程序正常初始化(0xc0000135)失败解决方法
下一篇: 黑客挑衅全世界3月31全球网络瘫痪?
文章来自: 源于网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: 技术 电脑 资源共享
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭