从标签内跳转到另一个标签

时间:2012-05-03 06:09:00

标签: installer nsis

在NSIS中,如何从其他标签中跳转到标签?

注意:我不确定我所谈论的内容是否真的被称为标签,如果我错了,请纠正我。

在下面的代码中,我想跳转到“InstallFiles”标签,请参阅“#SEE HERE”行:

# the following code is from within a macro
# Check the directory exists
IfFileExists $installDirectory InstallFiles CreateDirThenInstall

CreateDirThenInstall:   # this is a label...I think? :P
  file $installDirectory
  # SEE HERE: HOW DO I call the label 'InstallFiles'?

InstallFiles:
  DetailPrint "SetOverwrite on."
  SetOverwrite try
  SetOutPath "${dir}"
  file "Attributes_to_trees_panel.4do"
  file "ATTRIBUTES_TO_TREES_PANEL.hlp"

1 个答案:

答案 0 :(得分:2)

你无事可做InstallFiles下面的行转到CreateDirThenInstall标签:让执行到达以下一行。

你可能误解了标签实际上没有声明子程序,它们只放置了可以从任何流控制指令(在当前功能或部分)中到达的“符号”,如{{1 },StrCmpIntCmp s。如果标签上方有语句,并且在它之前没有跳转或Goto,则执行继续执行标签之后的下一个语句。