我的NSIS脚本中有一个小问题,
我叫这个功能:
Function ReadAllDesc
Var /global j
${foreach} $j 0 $secCount + 1
SectionGetText $h $4
${StrContains} $5 "++" $4
${ifnot} $5 == ""
StrCpy $5 $4 "" 2
${else}
StrCpy $5 $4
${endif}
!insertmacro DESC_READ $4 $lang $5
${next}
FunctionEnd
in descriptionInit Function
我插入的宏如下:
!macro DESC_READ addonText lang addonVar
FileOpen $6 "$TEMP\addonInstallerPreFolder\5.1\${addonText}_${lang}.txt" r
${if} ${addonText} == proFile
FileRead $6 $proFileDesc
${else}
${if} ${addonText} == "ExtensionsFrame"
FileRead $6 $extensions
${else}
FileRead $6 $${addonVar}
${endIf}
${endIf}
FileClose $6
!macroend
在编译时我在macroline FileRead $ 6 $$ {addonVar}中得到错误,语法为false。但是,当我将宏调用更改为修复示例时,如:
!insertmacro DESC_READ "ExtensionsFrame" $lang "extensions"
它正常工作。我需要这个,因为我正在阅读描述的变量计数,并且在这种情况下不想编写修复代码。