» Labels: Метки, безусловные переходы

K.A.V.
www.oszone.net
22.02.2010
Автор: kotkovets
Последнее обновление: 18.12.2010

Метки предназначены для команд использующие переходы.
Таких как Goto   MessageBox   IfErrors   IfFileExists   IfAbort   IfSilent   IfRebootFlag   StrCmp   IntCmp.
Метки должны быть в пределах секций или функций. Метки доступны только внутри секций или функций.
Чтобы обьявить метку пишем:
MyLabel:
Метки не могут начинаться с -, +, !, $, или 0-9. Недопустимо совпадение имен меток в пределах одной функции или секции, а также имена меток содержащие пробел.
Определяя метки для различных команд, помните, что 0 или пустое значение, означает переход к следующей команде.
Goto 0
Goto ""
Метки, начинающиеся с точки (.) являются глобальными. Это означает, что вы можете перейти к метке из любой фунции или секции наоборот.
Но не можете перейти из блока инсталяции в блок деинсталляции и наоборот.
Имеются в виду с секции Uninstall деинсталлятора в другие секции инсталлятора и наоборот.
OutFile "Label.exe"
ShowInstDetails show

Section Labels
  Call Label #вызов функции Label
  DetailPrint "Пример использования безусловных переходов"
  Goto Done
.Next:
  MessageBox MB_OK "метка .Next"
Done:
SectionEnd

Function Label
 Goto .Next
FunctionEnd