View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Nov 12, 2012 14:23 Post subject: |
|
|
KopBuH
Действительно есть проблема, буду смотреть. Уж падать-то точно не должен. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Wed Nov 14, 2012 15:08 Post subject: |
|
|
Восьмая бета, только исправления ошибок.
Скачать
Code: | - исправлены неправильные номера строк в сообщениях об ошибках
- исправлено падение при использовании == в сравнении
|
|
|
Back to top |
|
|
KopBuH
Joined: 02 Jul 2010 Posts: 127 Location: Tashkent, Uzbekistan
|
(Separately) Posted: Thu Nov 15, 2012 08:37 Post subject: |
|
|
заметил еще один интересный глюк:
код из конфига:
Code: | IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%" |
код из wincmd.ini:
Code: | [RemoteAdministration]
RemoteAdminName=
RemoteAdminPwd= |
как видите, ключи в ini-файле стоят пустые, а в переменной RemoteAdminName по умолчанию стоит "Администратор"
теперь, при загрузке ТС, получаем это:
Скриншот
если удалить ключи из ini-файла, то всё работает:
Скриншот
что я делаю неправильно?, быть может если ключи пустые, то лучше чтобы плагин писал в переменной ключи по умолчанию?
и еще было бы неплохо установки ключей по умолчанию из переменной, например:
Code: | IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "%USERNAME%" |
! | Avada: | Неформатные картинки заменены ссылками, текст преобразован в код. Читаем правила форума и впредь проверяем через предварительный просмотр результаты внедрения картинок. Также прошу обратить внимание, как на форуме принято оформлять фрагменты кода. И заодно отмечу, что читать посты при использовании в начале фраз заглавных букв значительно приятнее. | |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 15, 2012 11:20 Post subject: |
|
|
KopBuH
RemoteAdminName - это не внутренняя переменная, её заключать в % не надо. И, кстати, кавычки в командах вообще не нужны. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Thu Nov 15, 2012 11:43 Post subject: |
|
|
KopBuH
Если ключ есть - он есть, неважно, какое у него значение. В данном случае есть ключ с пустым значением, следовательно, считываться должно оно.
Другое дело, что функция SetEnv не позволяет создавать переменные окружения с пустым значением, поскольку Windows не допускает создания пустых переменных окружения.
Однако сейчас и переменные не могут быть пустыми, поэтому и не создаются. Честно говоря, не помню, почему было сделано именно так, особого смысла в этом нет. Переделаю, тогда содержимое переменной можно будет проверить в условии на пустое значение:
Code: |
If %RemoteAdminName% = "" Then
SetEnv /EV COMMANDER_ADMINNAME "Администратор"
Else
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
EndIf
|
Last edited by Loopback on Thu Nov 15, 2012 14:17; edited 1 time in total |
|
Back to top |
|
|
KopBuH
Joined: 02 Jul 2010 Posts: 127 Location: Tashkent, Uzbekistan
|
(Separately) Posted: Thu Nov 15, 2012 14:11 Post subject: |
|
|
Flasher wrote: | KopBuH
RemoteAdminName - это не внутренняя переменная, её заключать в % не надо. И, кстати, кавычки в командах вообще не нужны. |
заключать её надо, в соотствии с созданием выше внутренней переменной:
Code: | IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
|
полный код из поста выше:
Code: | IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"
|
Flasher
или все таки я не прав?
Добавлено спустя 7 минут:
Loopback wrote: | KopBuH
Если ключ есть - он есть, неважно, какое у него значение. В данном случае есть ключ с пустым значением, следовательно, считываться должно оно. |
да, оно считывается. посколько при удалении ключа из ini-файла происходит подставка значений по умолчанию.
Loopback wrote: |
Другое дело, что функция SetEnv не позволяет создавать переменные с пустым значением, поскольку Windows не допускает создания пустых переменных окружения. |
а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?.
P.S.:
а можно в таком сравнении, которое вы указали выше, вместо конкретного "Администратор" использовать глобальную переменную, например %USERNAME%? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Thu Nov 15, 2012 14:28 Post subject: |
|
|
KopBuH wrote: | а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?. |
Можно все, но идеологически это неправильно. Set и SetEnv - это по-сути присваивание, а присваиваем мы что-то заранее известное. Для проверки есть условия.
KopBuH wrote: | а можно в таком сравнении, которое вы указали выше, вместо конкретного "Администратор" использовать глобальную переменную, например %USERNAME%? |
Разумеется, любые существующие переменные, внутренние или окружения. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 15, 2012 22:17 Post subject: |
|
|
KopBuH wrote: | или все таки я не прав? | Нет. Переменная изначально объявлялась без %, в том же виде она должна быть использована в других командах. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Nov 16, 2012 11:15 Post subject: |
|
|
KopBuH
Flasher
Насчет переменных правила просты: если переменная устанавливается (Set, SetEnv, IniRead), то ее имя пишется без %, во всех остальных местах, т.е. там где она читается - % обязательны. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 16, 2012 15:40 Post subject: |
|
|
Loopback
Так в SetEnv читаем или устанавливаем? |
|
Back to top |
|
|
KopBuH
Joined: 02 Jul 2010 Posts: 127 Location: Tashkent, Uzbekistan
|
(Separately) Posted: Sat Nov 17, 2012 08:31 Post subject: |
|
|
Flasher wrote: | Loopback
Так в SetEnv читаем или устанавливаем? |
насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).
Добавлено спустя 4 минуты:
Loopback wrote: | KopBuH
Flasher
Насчет переменных правила просты: если переменная устанавливается (Set, SetEnv, IniRead), то ее имя пишется без %, во всех остальных местах, т.е. там где она читается - % обязательны. |
всё так. если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sat Nov 17, 2012 11:11 Post subject: |
|
|
Loopback
Как и значки, мои шрифты подвергаются частому редактированию. Со значками проще - изменил, а после обновил панель инструментов и вуаля. Шрифты же, загруженные плагином, доступны только для чтения. Чтобы их изменить, я делаю их копии, редактирую, далее из Проводника с закрытым TC произвожу замену. Есть ли способ выгрузить эти шрифты? Перезапуск TC их вернет. Шрифты задействованы в TC, но перед выгрузкой я могу сменить их на что-либо из стандартного набора. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 17, 2012 13:31 Post subject: |
|
|
KopBuH wrote: | насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).
если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher | Внутренняя переменная является предопределённой либо устанавливается командой Set, чего мы не наблюдаем в примерах выше. Даже если взять такой пример Code: | Set Ren "Переменная окружения"
SetEnv Perem %Ren% | , записывается тот же текст %Ren%. И чего тут спорить? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Sat Nov 17, 2012 19:00 Post subject: |
|
|
Flasher wrote: | Так в SetEnv читаем или устанавливаем? |
Не совсем правильно выразился: там где мы вводим имя переменной для записи - там без %, там где ее читаем - там с %.
Flasher wrote: | записывается тот же текст %Ren%. И чего тут спорить? |
Ты забыл ключ /EV. C ним будет значение.
ask-rus wrote: | Есть ли способ выгрузить эти шрифты? |
Есть - я же их выгружаю при завершении работы плагина. Но как ты это предлагаешь сделать во время работы? |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sat Nov 17, 2012 20:35 Post subject: |
|
|
Loopback
Странно, что программа для редактирования шрифтов не может сохранить измененный шрифт (привелегии админа экзешнику присваивал), загруженный плагином, а переименовать файл в TC можно легко. Я точно помню, что раньше TC выдавал ошибку, ссылаясь на доступность файла только для чтения. Возможно, тогда я запускал TC без прав администратора. Можешь у себя это проверить? Программа Type light, бесплатная.
Loopback wrote: | Есть - я же их выгружаю при завершении работы плагина. |
Значит, cm_UnloadPlugins должна помочь. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|