Страница 7 из 9
Добавлено: Ср дек 10, 2014 09:26
Flasher
Да я видел, но он же глючит.
ask-rus
Кстати, замени run_item(tb1) на tcm(2901) (я в своём примере поправил), так будет лучше.
Добавлено: Ср дек 10, 2014 09:35
sa
Flasher писал(а):он же глючит
Не глючит.
Из справки по TCFS2:
дополнительно записывает в wincmd.ini значение ButtonBar=1 (ТК не делает этого при вызове команды OPENBAR).
Добавлено: Ср дек 10, 2014 09:47
Flasher
В общем-то, да, макрос тут, наверно, ни при чём. Но тогда есть смысл отказаться использовать tb0/tb1 при таком раскладе, если MVV не дополнит Tools проверкой активности панелей через отправку сообщений. Хотя, возможно, разговор об этом уже вёлся, не помню.
Добавлено: Ср дек 10, 2014 10:10
sa
Flasher писал(а):есть смысл отказаться использовать tb0/tb1
А можно и не отказываться, если дополнительно записывать в wincmd.ini значение ButtonBar=1 при использовании OPENBAR.
Добавлено: Ср дек 10, 2014 10:14
MVV
Ага, снова всё упёрлось в RTFM.

Наконец разобрались, где собака порылась. Я на днях пытался повторить проблему, видел, что что-то не так в конфиге после этих команд, но некогда было разбираться. Что могу сказать, используете
OPENBAR - записывайте 1, это несложно, или да, вызывайте
tcm(2901) напрямую. А искать окно класса
Window среди кучи окон класса
Window я точно не стану. Если бы идентификаторы окон были статическими, это было бы просто, но дельфийская VCL генерирует их от фонаря.
В макросе
hasButtonBar (и ему подобным) в качестве
error_value используется значение ключа по умолчанию: при отсутствии ключа тотал считает, что панель инструментов включена.
Добавлено: Ср дек 10, 2014 10:15
Flasher
2
sa
Смысл писать в ini по два раза? По сути указанные команды нужны только в связке с другими переключателями для фуллскринов и т.п. А отдельно их вызов бессмысленен.
MVV писал(а):при отсутствии ключа тотал считает, что панель инструментов включена
И это касается только ButtonBar? А остальные ключи?
Добавлено: Ср дек 10, 2014 10:21
MVV
Повторяю, везде, где используется error_value, оно содержит значения ключей по умолчанию (частично они взяты из справки, частично опытным путём). Если заметите, что где-то используется неправильное error_value, я исправлю, но это не тот случай.
Кстати, можно и от tb1 не отказываться, достаточно просто вызывать её перед каждым вызовом OPENBAR.
Добавлено: Ср дек 10, 2014 10:23
sa
MVV писал(а):Ага, снова всё упёрлось в RTFM
Нее…. Сначала нашёл опытным путём и лишь спустя несколько дней в справке.

Добавлено: Ср дек 10, 2014 10:25
MVV
Если это написано в справке, значит, это кому-то нужно.

Хотя, конечно, чем больше тонкостей там описано, тем легче что-то забыть.
Для интереса проверьте вот что, не надо даже TCFS2: скройте тулбар, потом вызовите
OPENBAR с любой панелью и перезапустите тотал. Панели не будет, т.к. в конфиге она осталась выключенной. Поэтому лучше всегда записывать 1 в конфиг ручками или вызывать
tb1 перед каждой
OPENBAR.
Добавлено: Ср дек 10, 2014 10:30
sa
MVV писал(а):ли вызывать tb1 перед каждой OPENBAR.
Не хочется лишний раз передёргивать экран.
Добавлено: Ср дек 10, 2014 10:32
Flasher
MVV писал(а):Кстати, можно и от tb1 не отказываться, достаточно просто вызывать её перед каждым вызовом OPENBAR.
И будет глюк с переключением с одной панели на другую.
MVV писал(а):Для интереса проверьте вот что
Я это и раньше проверял. Ничего подобного. Панель появляется без проблем.
Добавлено: Ср дек 10, 2014 10:38
sa
Flasher писал(а):Панель появляется без проблем.
Небось tcm(2901) "сидит" в твоём run?
Добавлено: Ср дек 10, 2014 10:42
Flasher
В const_bb, если быть точным. Но она появится только в нужном случае. Самой то панели после перезапуска нет. Мы обсуждаем её появления после вызова OPENBAR. При чём тут Autorun?
MVV писал(а):А искать окно класса Window среди кучи окон класса Window я точно не стану.
Так ты будешь искать только передние окна. В чём сложность? Да и по скорости наверняка побыстрей будет, чем читка в ini.
Добавлено: Ср дек 10, 2014 10:53
sa
Flasher писал(а):Да и по скорости наверняка побыстрей будет, чем читка в ini
Какая там читка? Всё небось из буфера берётся после предшествующей правки имени панели в том же файле.
Кстати, пробел после %Z советуешь убрать тоже для скорости?
Добавлено: Ср дек 10, 2014 11:10
Flasher
sa писал(а):Какая там читка?
Такая.
sa писал(а):Всё небось из буфера берётся после предшествующей правки имени панели в том же файле.
Ты о чём вообще? На has-макросы посмотри внимательно.
sa писал(а):Кстати, пробел после %Z советуешь убрать тоже для скорости?
А ты сильно нуждаешься в моём совете в этом вопросе?
