找回密码
 加入
搜索
查看: 4971|回复: 4

[系统综合] [已解决] au3 提示: Subscript used with non-Array variable

[复制链接]
发表于 2011-8-4 10:05:57 | 显示全部楼层 |阅读模式
本帖最后由 swaterj 于 2011-8-16 20:27 编辑

源码如下,提示说$var错误使用了非数组变量,原来使用 IniReadSection函数没出现过这种问题,不知问题出在哪里?请各位高手帮忙看下。
local $var = IniReadSection("pzhi","ProcessList")
TraySetState (2)
for $i = 6 to $prolist[0][0] step 1
         $pid=$prolist[$i][1]
         $path=_GetModuleFileNameEx($pid)
         $size=filegetsize($path)
         for $k = 1 to $var[0][0] step 1
                 if $prolist[$i][0]=$var[$k][0] then
                        if $var[$k][0]<>"yes" Then
                         $exist=0
                          if $size<>$var[$k][1] Then
                                 $exists=processclose($prolist[$i][1])
                          elseif $var[$k][1]="no" Then
                                 $exists=processclose($prolist[$i][1])
                          endif
                        endif
                 else
                           $exist += 1
                        if $exist=$var[0][0] Then
                           $exists=processclose($prolist[$i][1])
                        endif
                endif
        next
next
发表于 2011-8-4 10:17:55 | 显示全部楼层
这个那个知道,帖的不是可运行的脚本,配置文件也没有。

只能帮你说一句了,凡是返回是数组的函数,在用这个数组前,最好先判断:if isarray($aRet)
发表于 2011-8-4 13:43:57 | 显示全部楼层
ProcessList下面有内容没有
发表于 2011-8-4 13:50:55 | 显示全部楼层
问题是不是出在这一句?local $var = IniReadSection("pzhi","ProcessList")
pzhi是不是一个ini文件?是不是放在了脚本下面?
建议写清楚:譬如用相对路径 local $var = IniReadSection(".\pzhi.ini","ProcessList")
 楼主| 发表于 2011-8-5 09:15:27 | 显示全部楼层
谢谢各位的回复,是配置文件出了些问题。这是一个进程监视程序的部分代码,pzhi 是配置文件。程序的作用是,若发现进程列表中有配置文件中不存在的进程时便结束它。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 21:32 , Processed in 0.198059 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表