2.3.4 Функции Функции могут содержать код скрипта, как и секции. Отличие состоит в способе их вызова. Существует два типа функций: пользовательские функции (user functions) и функции обратного вызова (callback functions). Пользовательские функции вызываются пользователем из внутренней части секции или других функций, использующих инструкцию Call Пользовательские функции не будут выполнены, пока вы их не вызовете. После того, как код функции будет выполнен, инсталлятор продолжит выполнение инструкций, идущие после инструкции Call, за исключением того случая, если вы прервали инсталляцию внутри функции. Пользовательские функции очень полезны, если у вас имеется набор инструкций, которые должны быть выполнены в нескольких местах инсталляции. Если вы разместите код внутри функции, вы сможете сэкономить время и сделать свой код более простым. Функции обратного вызова вызываются инсталлятором при определеных событиях, такие как запуск инсталлятора. Обратные вызовы необязательны. Если, например, вы хотите поприветствовать пользователя, вы определите функцию .onInit. Компилятор NSIS распознает ее как функцию обратного вызова по имени и обратится к ней при запуске инсталлятора. Code Function .onInit MessageBox MB_YESNO "This will install My Program. \ Do you wish to continue?" IDYES gogogo Abort gogogo: FunctionEnd Abort имеет особое значение в обратных вызовах. Каждая функция обратного вызова имеет свое собственное значение, взгляните на раздел Функции обратного вызова для получения более подробной информации. В вышеприведенном примере Abort сообщает инсталлятору, что надо остановить его инициализацию и немедленно выйти. Более подробная информация по функциям находится в разделе Функции.
|