Добавлено: Пн ноя 12, 2012 14:23
KopBuH
Действительно есть проблема, буду смотреть. Уж падать-то точно не должен.
Действительно есть проблема, буду смотреть. Уж падать-то точно не должен.
Код: Выделить всё
- исправлены неправильные номера строк в сообщениях об ошибках
- исправлено падение при использовании == в сравнении
Код: Выделить всё
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"Код: Выделить всё
[RemoteAdministration]
RemoteAdminName=
RemoteAdminPwd=Код: Выделить всё
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "%USERNAME%"Код: Выделить всё
If %RemoteAdminName% = "" Then
SetEnv /EV COMMANDER_ADMINNAME "Администратор"
Else
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
EndIf
заключать её надо, в соотствии с созданием выше внутренней переменной:Flasher писал(а):KopBuH
RemoteAdminName - это не внутренняя переменная, её заключать в % не надо. И, кстати, кавычки в командах вообще не нужны.
Код: Выделить всё
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
Код: Выделить всё
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"
да, оно считывается. посколько при удалении ключа из ini-файла происходит подставка значений по умолчанию.Loopback писал(а):KopBuH
Если ключ есть - он есть, неважно, какое у него значение. В данном случае есть ключ с пустым значением, следовательно, считываться должно оно.
а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?.Loopback писал(а): Другое дело, что функция SetEnv не позволяет создавать переменные с пустым значением, поскольку Windows не допускает создания пустых переменных окружения.
Можно все, но идеологически это неправильно. Set и SetEnv - это по-сути присваивание, а присваиваем мы что-то заранее известное. Для проверки есть условия.KopBuH писал(а):а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?.
Разумеется, любые существующие переменные, внутренние или окружения.KopBuH писал(а):а можно в таком сравнении, которое вы указали выше, вместо конкретного "Администратор" использовать глобальную переменную, например %USERNAME%?
Нет. Переменная изначально объявлялась без %, в том же виде она должна быть использована в других командах.KopBuH писал(а):или все таки я не прав?
насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).Flasher писал(а):Loopback
Так в SetEnv читаем или устанавливаем?
всё так. если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher.Loopback писал(а):KopBuH
Flasher
Насчет переменных правила просты: если переменная устанавливается (Set, SetEnv, IniRead), то ее имя пишется без %, во всех остальных местах, т.е. там где она читается - % обязательны.
Внутренняя переменная является предопределённой либо устанавливается командой Set, чего мы не наблюдаем в примерах выше. Даже если взять такой примерKopBuH писал(а):насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).
если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher
Код: Выделить всё
Set Ren "Переменная окружения"
SetEnv Perem %Ren%Не совсем правильно выразился: там где мы вводим имя переменной для записи - там без %, там где ее читаем - там с %.Flasher писал(а):Так в SetEnv читаем или устанавливаем?
Ты забыл ключ /EV. C ним будет значение.Flasher писал(а):записывается тот же текст %Ren%. И чего тут спорить?
Есть - я же их выгружаю при завершении работы плагина. Но как ты это предлагаешь сделать во время работы?ask-rus писал(а):Есть ли способ выгрузить эти шрифты?
Значит, cm_UnloadPlugins должна помочь.Loopback писал(а):Есть - я же их выгружаю при завершении работы плагина.