[已解决] au3 提示: Subscript used with non-Array variable
本帖最后由 swaterj 于 2011-8-16 20:27 编辑源码如下,提示说$var错误使用了非数组变量,原来使用 IniReadSection函数没出现过这种问题,不知问题出在哪里?请各位高手帮忙看下。
local $var = IniReadSection("pzhi","ProcessList")
TraySetState (2)
for $i = 6 to $prolist step 1
$pid=$prolist[$i]
$path=_GetModuleFileNameEx($pid)
$size=filegetsize($path)
for $k = 1 to $var step 1
if $prolist[$i]=$var[$k] then
if $var[$k]<>"yes" Then
$exist=0
if $size<>$var[$k] Then
$exists=processclose($prolist[$i])
elseif $var[$k]="no" Then
$exists=processclose($prolist[$i])
endif
endif
else
$exist += 1
if $exist=$var Then
$exists=processclose($prolist[$i])
endif
endif
next
next 这个那个知道,帖的不是可运行的脚本,配置文件也没有。
只能帮你说一句了,凡是返回是数组的函数,在用这个数组前,最好先判断:if isarray($aRet) ProcessList下面有内容没有 问题是不是出在这一句?local $var = IniReadSection("pzhi","ProcessList")
pzhi是不是一个ini文件?是不是放在了脚本下面?
建议写清楚:譬如用相对路径 local $var = IniReadSection(".\pzhi.ini","ProcessList") 谢谢各位的回复,是配置文件出了些问题。这是一个进程监视程序的部分代码,pzhi 是配置文件。程序的作用是,若发现进程列表中有配置文件中不存在的进程时便结束它。
页:
[1]