我有这样的 NSIS 代码:
;Installer Sections
var /GLOBAL f1m
Function GetXML
StrCpy $path "/A/B/C/"
StrCpy $path "$path$R1"
${UpdateXml} "http://127.0.0.1/denwer/update.xml" $path $f1m
FunctionEnd
Function DownloadFiles
metadl::download /RETRYTIME=2 /MAXTRIES=2 /MD5 $f1m http://127.0.0.1/some.exe some.exe
Pop $R0 ;Get the return value
StrCmp $R0 "success" +3
MessageBox MB_OK "Download failed: $R0"
FunctionEnd
Section "Dummy Section" SecDummy
...
ReadRegStr $curver HKCU "Software\SomeSoft" "ver"
...
${For} $R1 1 10
Call GetXML
Call DownloadFiles
${Next}
...
SectionEnd
当 for 循环中的程序运行“DowloadFiles”函数时,它不是在 for 循环的开头。它只是回到 ReadRegStr 命令并且总是获得相同的 $f1m 变量值并卡在一个循环中。
这个动作的原因是什么?