NSIS FileRead不能使用变量

时间:2018-01-17 09:12:32

标签: nsis

我的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"

它正常工作。我需要这个,因为我正在阅读描述的变量计数,并且在这种情况下不想编写修复代码。

0 个答案:

没有答案