Страница 5 из 9

Добавлено: Сб дек 06, 2014 18:45
MVV
Дык пропишите %Z в её список параметров. Каждая юзер-команда, которая запускается внутри архива, должна содержать %Z в строке параметров.

Создал команду, повесил на хоткей, всё работает. Добавил кнопку с вызовом этой команды, работает. Создал кнопку с прямым вызовом TCFS2, тоже работает. Из архива.

Добавлено: Сб дек 06, 2014 18:51
sa
Вот команда

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

[em_MainBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ef "tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\MAIN.bar`) set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\MAIN.bar`)"
menu=Главная панель инструментов
Куда вписать то?

Добавлено: Сб дек 06, 2014 19:07
Flasher
sa писал(а):У меня и напрямую не работает (из кнопки).
Почему? Там работает без проблем.
MVV писал(а):Дык пропишите %Z в её список параметров.
С каких пор юзеркоманды у тебя стали поддерживать параметры?

Добавлено: Сб дек 06, 2014 19:17
sa
Если вызывать пользовательскую команду с помощью TCFS2
/ef "tem(em_OpenMainBar)"
, то работает и из архива (при наличии связки %Z%A в em_OpenBar) .

Добавлено: Сб дек 06, 2014 19:19
Flasher
Ага, теперь ясно. Нужно и c %A прописать %Z и в каждой из команд перед /ef в начале параметров. Тогда em_NameBar/em_SwitchBar будут запускаться отдельно (без TCFS2).

Добавлено: Сб дек 06, 2014 19:27
sa
Flasher писал(а):перед /ef в начале параметров
Можно и в конце
Flasher писал(а):Куда хош..

Добавлено: Сб дек 06, 2014 19:59
Flasher
Да можно именно "куда хош", лишь бы не после %, просто так лучше для восприятия.

Добавлено: Вс дек 07, 2014 11:15
sa
Можно постоянную часть процедуры открытия панели поместить в команду OpenBar для TCFS2.ini

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

OpenBar=tem(`em_OpenBar %COMMANDER_PATH%\BAR\` #1 `.bar`) set_tcini(ButtonBar, Buttonbar,`%COMMANDER_PATH%\BAR\` #1 `.bar`)
, а изменяемый параметр (имя панели) передавать в неё строкой вида

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

/ei OpenBar(`Ext`)

Добавлено: Вс дек 07, 2014 17:03
ask-rus
Flasher писал(а):Нужно и c %A прописать %Z и в каждой из команд перед /ef в начале параметров. Тогда em_NameBar/em_SwitchBar будут запускаться отдельно (без TCFS2).
Отлично!

Нерешённым остался момент с закрытием панели инструментов и переключением после.
Flasher писал(а):А зачем тебе так закрывать? Если же команды tb0/tb1.
Всё равно "осечка"...

Добавлено спустя 2 минуты:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb1
menu=Закрыть панель инструментов

Добавлено: Вс дек 07, 2014 17:15
Flasher
ask-rus писал(а):Всё равно "осечка"...
Проверь ещё раз присутствие no.bar там, откуда ты её вызываешь.

Добавлено: Вс дек 07, 2014 17:18
sa
ask-rus писал(а):/ei tb1
Тогда
/ei tb0

Добавлено: Вс дек 07, 2014 17:20
ask-rus
D:\TotalCmd8\BAR\NO.BAR
NO.BAR писал(а):[Buttonbar]
Buttoncount=0
Добавлено спустя 2 минуты:
sa писал(а):Тогда
/ei tb0
Не закрывает панель инструментов...

Добавлено: Вс дек 07, 2014 17:24
Flasher
Да, кстати, почему tb1?

Показывать содержимое no.bar не нужно. Я про способ вызова закрытия. Может, ты там не переписал, и у тебя значением ключа оставался no.bar.

Добавлено спустя 4 минуты:
Flasher писал(а):Не закрывает панель инструментов...
Посмотри внимательно на команду. Она такая?

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

tb0=tcm(2901), eval(hasButtonBar), tb1
и макрос заодно

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

hasButtonBar=tcini(Layout, ButtonBar, 1, 1)

Добавлено: Вс дек 07, 2014 17:30
ask-rus
Было:
tb0=tcm(2901), test(hasButtonBar), tb1 ; Скрыть панель инструментов
tb1=tcm(2901), test(!hasButtonBar), tb0 ; Показать панель инструментов
Стало:
tb0=tcm(2901), eval(hasButtonBar), tb1 ; Скрыть панель инструментов
tb1=tcm(2901), eval(!hasButtonBar), tb0 ; Показать панель инструментов
Без изменений...

Добавлено: Вс дек 07, 2014 17:40
Flasher
В данном случае это неважно. Макрос тот же?
И секцию Layout посмотри, всё ли там в порядке, нет ли редиректа.