Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата Kopejkin:
А можно пояснить, так сказать, физический смысл назначения и использования собственной переменной? »
Смысл в том, чтобы не было такой каши при исполнении в инсталляторе, как у вас.
В справочнике гляньте пример, там ещё есть такой вот кусочек кода:

Цитата:
Назначаем по-умолчанию отмеченные
Код: Выделить весь код
Function .onInit

  StrCpy $1 ${ID_2}
  StrCpy $2 ${ID_5}

FunctionEnd
Т.е. у нас получается, что при создании группы для одной отметки из нескольких компонентов, нам необходима одна переменная, которая будет хранить данные о том, какой компонент отмечен. А т.к. мы используем дефолтную переменную $1 - значение которой миллион раз может поменяться до момента показа диалога с выбором компонентов - мы и получаем такой бред при исполнении инсталлятора. Пример не очень корректный как в оригинальных примерах из поставки в файлах NSIS (откуда был взят пример и помещен в справочник), да и сама реализация создания таких компонентов кривая, если вы постоянно читаете эту тему - могли заметить, что проблемы с секциями возникают частенько, постоянно NSIS ловит глюки на этой теме, я тут даже кому-то писал собственную функцию onSelChange (там вроде было несколько групп что ли, не помню)
На то время, когда пример был добавлен в справочник - я всех тонкостей этого вопроса не знал, поэтому там пример кода из файлов примеров NSIS
Так что в будущем, во всех ваших кодах сразу создавайте свою переменную для таких компонентов

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:05, 08-01-2015 | #1440