Страница 1 из 1

Различия между обработкой параметров

Добавлено: Пн апр 15, 2019 14:24
LonerD
Какие различия существуют в обработке параметров на кнопках и пользовательских командах? Где-то они описаны или обсуждаются?

Сколько лет наивно полагал, что одна и та же запись должна работать идентично. :oops: (оттестирую параметры на кнопке, создам пользовательскую команду с теми же параметрами, а потом через некоторое время удивляюсь почему она не работает должным образом, списывая всё на свою невнимательность или изменениях в ОС - ХР...7...10). Наконец подметил, что "что-то не так".

Добавлено: Пн апр 15, 2019 14:34
Avada
LonerD
А конкретные примеры этого самого "что-то не так" для дальнейшего обсуждения есть?

Добавлено: Пн апр 15, 2019 14:54
LonerD
Avada писал(а):А конкретные примеры этого самого "что-то не так" для дальнейшего обсуждения есть?
Например, из только что подмеченного. Есть у меня скрипт на AutoHotkey (содержимое его не суть важно и мало что скажет в контексте вопроса).

Код: Выделить всё

TOTALCMD#BAR#DATA
"%commander_path%\AutoHotkey.exe" "%commander_path%\Scripts\CreateDirectories.ahk"
"?" "?" "?" "?"
%COMMANDER_EXE%
7-Zip


-1
В качестве параметров в кнопке на панели инструментов указываю следующее:

Код: Выделить всё

"?" "?" "?" "?"
Всё работает, скрипту в качестве четырёх параметров передаётся четыре знака вопроса.

Создаю пользовательскую команду, добавляю её в меню Тотала.

Код: Выделить всё

[em_CreateDirs]
cmd="%commander_path%\AutoHotkey.exe" "%commander_path%\Scripts\CreateDirectories.ahk"
param="?" "?" "?" "?"
Запускаю пользовательскую команду.
Высвечивается окошко Тотала с предложением ввода параметров командной строки

Код: Выделить всё

" "?" "?" "?
Оказывается, что в данном случае нужно удвоить кавычки в пользовательских командах, чтобы параметры передавались корректно:

Код: Выделить всё

param=""?" "?" "?" "?""
Как узнать (предположить) о необходимости удвоения кавычек в данном случае (и других случаях)?
Тестировать каждый раз именно пользовательские команды, снова и снова перезапуская Тотал после каждой правки команды - не очень весело (изменить кнопку можно без перезапуска Тотала, потому обычно тестировал всё именно на кнопках).

Чтобы узнать о других примерах и нюансах их возникновения и различий - и была создана тема.

Добавлено: Пн апр 15, 2019 15:04
Flasher
LonerD
Эту проблему криворукости уже не раз тут обсуждали. Логично сравнивать эти вещи в рамках диалогов ТС, а не правок кода кнопки и ini.

Добавлено: Пн апр 15, 2019 15:26
LonerD
Flasher писал(а):Эту проблему криворукости
То есть нет объяснений почему так реализовано?
Flasher писал(а):уже не раз тут обсуждали.
С кавычками всё время непонятки возникают. Но что именно различия между их записью в кнопке и em-команде - не замечал обсуждений.
Есть какое-то правило "в данном случае работает и так, а в данном случае нужно удваивать"?

И какие-то ещё различия кроме танцев с кавычками есть?
Flasher писал(а):Логично сравнивать эти вещи в рамках диалогов ТС, а не правок кода кнопки и ini.
Не понял. Как узнать рабочий вариант пользовательской команды без правок кода в ini-файле?

Добавлено: Пн апр 15, 2019 15:31
Flasher
LonerD
Короче.
LonerD писал(а):И какие-то ещё различия кроме танцев с кавычками есть?
Никаких.
LonerD писал(а):Как узнать рабочий вариант пользовательской команды без правок кода в ini-файле?
Зайти в браузер команд, вестимо. :)

Добавлено: Вт апр 16, 2019 17:07
LonerD
Flasher писал(а):Короче.
Спасибо.
Flasher писал(а):Зайти в браузер команд, вестимо. :)
Интересный вариант. У меня он открывается дольше, чем перезапускается Тотал.

Добавлено: Вт апр 16, 2019 17:45
Flasher
LonerD писал(а):У меня он открывается дольше, чем перезапускается Тотал.
Вот это уже что-то весьма странное. У меня окно появляется моментально, раз так в 50 быстрее перезапуска ТС.