Панель инструментов по умолчанию

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Да я видел, но он же глючит.

ask-rus
Кстати, замени run_item(tb1) на tcm(2901) (я в своём примере поправил), так будет лучше.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):он же глючит
Не глючит.

Из справки по TCFS2:
дополнительно записывает в wincmd.ini значение ButtonBar=1 (ТК не делает этого при вызове команды OPENBAR).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

В общем-то, да, макрос тут, наверно, ни при чём. Но тогда есть смысл отказаться использовать tb0/tb1 при таком раскладе, если MVV не дополнит Tools проверкой активности панелей через отправку сообщений. Хотя, возможно, разговор об этом уже вёлся, не помню.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):есть смысл отказаться использовать tb0/tb1
А можно и не отказываться, если дополнительно записывать в wincmd.ini значение ButtonBar=1 при использовании OPENBAR.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ага, снова всё упёрлось в RTFM. :D
Наконец разобрались, где собака порылась. Я на днях пытался повторить проблему, видел, что что-то не так в конфиге после этих команд, но некогда было разбираться. Что могу сказать, используете OPENBAR - записывайте 1, это несложно, или да, вызывайте tcm(2901) напрямую. А искать окно класса Window среди кучи окон класса Window я точно не стану. Если бы идентификаторы окон были статическими, это было бы просто, но дельфийская VCL генерирует их от фонаря.

В макросе hasButtonBar (и ему подобным) в качестве error_value используется значение ключа по умолчанию: при отсутствии ключа тотал считает, что панель инструментов включена.
Последний раз редактировалось MVV Ср дек 10, 2014 10:17, всего редактировалось 3 раза.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

2sa
Смысл писать в ini по два раза? По сути указанные команды нужны только в связке с другими переключателями для фуллскринов и т.п. А отдельно их вызов бессмысленен.
MVV писал(а):при отсутствии ключа тотал считает, что панель инструментов включена
И это касается только ButtonBar? А остальные ключи?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Повторяю, везде, где используется error_value, оно содержит значения ключей по умолчанию (частично они взяты из справки, частично опытным путём). Если заметите, что где-то используется неправильное error_value, я исправлю, но это не тот случай.

Кстати, можно и от tb1 не отказываться, достаточно просто вызывать её перед каждым вызовом OPENBAR.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Ага, снова всё упёрлось в RTFM
Нее…. Сначала нашёл опытным путём и лишь спустя несколько дней в справке. :)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Если это написано в справке, значит, это кому-то нужно. :)
Хотя, конечно, чем больше тонкостей там описано, тем легче что-то забыть.

Для интереса проверьте вот что, не надо даже TCFS2: скройте тулбар, потом вызовите OPENBAR с любой панелью и перезапустите тотал. Панели не будет, т.к. в конфиге она осталась выключенной. Поэтому лучше всегда записывать 1 в конфиг ручками или вызывать tb1 перед каждой OPENBAR.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):ли вызывать tb1 перед каждой OPENBAR.
Не хочется лишний раз передёргивать экран.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Кстати, можно и от tb1 не отказываться, достаточно просто вызывать её перед каждым вызовом OPENBAR.
И будет глюк с переключением с одной панели на другую.
MVV писал(а):Для интереса проверьте вот что
Я это и раньше проверял. Ничего подобного. Панель появляется без проблем.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Панель появляется без проблем.
Небось tcm(2901) "сидит" в твоём run?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

В const_bb, если быть точным. Но она появится только в нужном случае. Самой то панели после перезапуска нет. Мы обсуждаем её появления после вызова OPENBAR. При чём тут Autorun?
MVV писал(а):А искать окно класса Window среди кучи окон класса Window я точно не стану.
Так ты будешь искать только передние окна. В чём сложность? Да и по скорости наверняка побыстрей будет, чем читка в ini.
Последний раз редактировалось Flasher Ср дек 10, 2014 12:34, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Да и по скорости наверняка побыстрей будет, чем читка в ini
Какая там читка? Всё небось из буфера берётся после предшествующей правки имени панели в том же файле.
Кстати, пробел после %Z советуешь убрать тоже для скорости?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):Какая там читка?
Такая.
sa писал(а):Всё небось из буфера берётся после предшествующей правки имени панели в том же файле.
Ты о чём вообще? На has-макросы посмотри внимательно.
sa писал(а):Кстати, пробел после %Z советуешь убрать тоже для скорости?
А ты сильно нуждаешься в моём совете в этом вопросе? :D
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить