Autorun

Обсуждение только плагинов и утилит для Total Commander.

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

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

rk2019
Как вижу, начался банальный флуд. Кем вас там считают, мне неинтересно, но вы, похоже, действительно начисто не понимаете смысл данных ответов. Суть проблемы вполне ясно излагалась словами без всяких картинок, которые абсолютно не нужны. Про все эти недочёты неоднократно сказано выше и мной, и разработчиком. А версия плагина от 25 февраля ни разу не последняя, после неё были ещё две (ссылки имеются в теме). То, что было на ру-бордовском скрине, проделывалось параметром /Narrow и никакой дальнейшей коррекции уже не поддаётся, а сейчас речь идёт про другую методику (прочитайте, в конце концов, справку плагина). Кобмобоксы можно регулировать в 32-битном TC параметрами плагина, а закрепляющей кнопки всё равно не будет.
Это всё. Самостоятельно (и никак иначе!) разбирайтесь с последней версией плагина в пределах его возможностей согласно рекомендациям (прочитав и поняв, наконец, написанное ранее), а в противном случае сидите на том, что есть. Подсказок, как легким движением руки вернуть вам безукоризненный узкий диалог, не ждите — их нет. Гонять по кругу свою "хотелку" хватит, бестолковые повторы будут просто удаляться без всяких дальнейших дисскуссий.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Выяснилось, что если в wcx-списке есть путь с пробелами, то (нет) уходит на нижеследующие строки, чего не скажешь о "По типам файлов...".
Это как-то всё совсем ненадежно. Тут уходит, тут нет...

Текст из TMyPanel читается, но в данном случае его сложно применить в фильтре, т.к. он в родительском диалоге.

Вот мне в принципе интересно - это реально так важно различать диалоги "По типам файлов" и WCX-плагинов? Окна по контролам абсолютно одинаковые, делают фактически одно и то же. Никого же не смущает, что окна копирования и перемещения обрабатываются совершенно одинаково.

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

Сообщение Flasher »

Loopback
Я был и не стал предлагать заголовок страницы, если бы было надёжно.
Loopback писал(а): делают фактически одно и то же.
Если ширину и можно сделать одинаковой, то вот по высоте хотелось бы иметь разницу, т.к. длины списков оличаются существенно.
Loopback писал(а):Просто усилия для различения уже растут в прогрессии, и я все больше сомневаюсь в необходимости дальнейшего усложнения.
Ну, доп. параметр точно добавлять не надо, только обозвать по-новому два диалога.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Непонятно что с форумом произошло, добавил пост, а через 10 минут его уже нет. Повторяю.

Новая версия.

+ переделал фильтрацию диалогов, теперь дополнительные условия поиска (кроме класса диалога) задаются отдельной командой AddCondition
+ добавлено опциональное сохранение позиций и размеров диалогов
+ добавлен шаблон DIALOG_COPYMOVE_PINNED для закрепленного диалога

На данный момент это всё, больше хотелки не принимаю :) Для поиска различий диалогов было сделано и так значительно больше, чем хотелось бы. Теперь только исправления, иначе до релиза дело никогда не дойдет.

С помощью нового фильтра те три диалога можно разделить так:

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

AddDialog /H:-30 "TASSOCIATEDLG"
AddCondition /TEXT /PARENT "TMyPanel" 1 "Плагины"
AddDialog /H:100 "TASSOCIATEDLG"
AddCondition /TEXT /PARENT "TMyPanel" 1 "Правка/Просмотр"
AddDialog /W:100 "TASSOCIATEDLG"
Порядок играет роль, диалог без условия нужно ставить после диалогов с условиями.

Также новый фильтр позволяет определить диалог создания ярлыка, поэтому спец-имя для него убрал.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Есть некоторые проблемы. Если просто запустить 32-битную или 64-битную версию c использованием примера для учёта битности из новой справки, всё работает как должно. Но если, скажем, запустить 32-битную версию и потом перезапустить этим скриптом TC в 64-битном виде, все до единой команды после Else до самого конца (до MoveOptionsButton включительно) считаются, судя по сообщениям об ошибке, несуществующими, диалог не меняется. Если затем перезапустить TC тем же скриптом опять как 32-битный, вылетает теперь цепочка ошибок для 32-битного блока команд плюс MoveOptionsButton. Что тут можно сделать? От этой перезапускалки со сменой битности отказываться я не хочу, она очень удобная и до этого не подводила.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Avada
Хотя скрипт мягко говоря странный и не подразумевает использование нескольких окон TC одновременно, [s]да и работает у меня криво (иногда закрывает предыдущий тотал, иногда нет)[/s], но описанной проблемы ни разу не возникло.

Это не то чтобы криво, он просто не работает с несколькими экземплярами TC.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Мне и не нужна его работа с несколькими экземплярами, мне достаточно переключать текущий экземпляр. (К тому же — за неимением лучшего.) А вот описанная проблема у меня проявляется в полный рост. Какие могут быть этому объяснения и что следует ещё посмотреть и проверить для уточнения?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Avada писал(а):считаются, судя по сообщениям об ошибке, несуществующими
Раз такие ошибки выдает, значит не загружается сам Мove_Button, и соответственно, все функции становятся нереализованными. Есть предположение, что в путях к MoveButton в конфиге есть переменные окружения. Поскольку при перезапуске через скрипт переменные окружения от изначально запущенной 32-битной версии будут унаследованы 64-битной версией (и наоборот при следующем перезапуске), вполне возможно, что они окажутся для нее неприемлемыми.

В стандартном конфиге используются относительные пути: LoadLibrary Plugins\Autorun_MoveButton.dll

Других возможных причин я пока не вижу.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Все пути к дочерним плагинам относительные, согласно образцу конфига, переменных там нет.
Сам плагин загружается строкой LoadLibrary Plugins\Autorun_MoveButton.dll.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Avada
Закинул тестовую версию, она должна выдавать сообщения с полным путём к загружаемой библиотеке перед ее загрузкой. Надо хоть посмотреть, что там получается по факту.

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

Сообщение Flasher »

Loopback
Ну, ты монстр! За /SAVE:<flags> расцеловать мало. 5 лет ждал! Изображение И отдельный респект за AddCondition! Изображение
Буду всё тщательно тестировать и подбирать. Потом свой вариант с комментами выложу.
Loopback писал(а):На данный момент это всё, больше хотелки не принимаю
Мм.. Забыл об одной важной вещи — ключ центрирования диалога (AddDialog) относительно родительского окна (хотя можно и главного ТС). :roll:

Avada
Скрипт не ждёт завершения. Добавь после 9-й строки:

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

WinWaitClose($title)
Sleep(40)
Последний раз редактировалось Flasher Вт мар 05, 2019 08:40, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
rk2019
Сообщения: 16
Зарегистрирован: Чт фев 28, 2019 23:44
Откуда: Moskov

Сообщение rk2019 »

Loopback

Если сделать диалоги копирования/перемещения узкими не получается через плагин Autorun_MoveButton.dll, то может их получится банально отредактировать ресурсхакером или другой программой умеющей корректировать ресурсы прямо в ехе-шнике???
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

rk2019
Не получается или не пытались настроить, чтобы получилось (без крепёжной кнопки, разумеется)?
[cut="Пример:"]

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

AddDialog /W:-70 "DIALOG_COPYMOVE"
# Первый выпадающий список:
AddControl /W:-64 "TMyComboBox" 2
# Второй выпадающий список:
AddControl /W:-72 "TMyComboBox" 1
# Кнопка-флажок "С проверкой MD5":
AddControl /X:-67 "TMyCheckBox" 1
# Кнопка "+":
AddControl /X:-69 "TButton" 1
# Кнопка "ОК" (1-я слева):
AddControl /W:-21 "TButton" 6
# Кнопка "В очередь" (2-я слева):
AddControl /QUEUEBTN /W:-20 /X:-22 "TButton" 2
# Кнопка "Дерево" (3-я слева):
AddControl /W:-3 /X:-42 "TButton" 5
# Кнопка "Отмена" (4-я слева):
AddControl /X:47 "TButton" 4
# Кнопка "Опции" (5-я слева):
AddControl /W:-20 /X:-137 "TButton" 3
# Блок дополнительный настроек
AddControl /W:-66 "TMyGroupBox" 1

AddDialog "DIALOG_COPYMOVE_POST"
# Выпадающий список настроек перезаписи:
AddControl /W:-67 "TMyComboBox" 1
# Кнопки-флажки в блоке доп. настроек:
AddControl /W:-67 "TCheckBox" 1
AddControl /W:-67 "TCheckBox" 2
AddControl /W:-67 "TCheckBox" 3

AddDialog /W:-70 "DIALOG_COPYMOVE_PINNED"
# Первый выпадающий список:
AddControl /W:-64 "TMyComboBox" 3
# Второй выпадающий список:
AddControl /W:-72 "TMyComboBox" 2
# Выпадающий список настроек перезаписи:
AddControl /W:-68 "TMyComboBox" 1
# Кнопка-флажок "С проверкой MD5":
AddControl /X:-67 "TMyCheckBox" 1
# Кнопка "+":
AddControl /X:-69 "TButton" 1
# Кнопка "ОК" (1-я слева):
AddControl /W:-21 "TButton" 6
# Кнопка "В очередь" (2-я слева):
AddControl /QUEUEBTN /W:-20 /X:-22 "TButton" 2
# Кнопка "Дерево" (3-я слева):
AddControl /W:-3 /X:-42 "TButton" 5
# Кнопка "Отмена" (4-я слева):
AddControl /X:47 "TButton" 4
# Кнопка "Опции" (5-я слева):
AddControl /W:-20 /X:-137 "TButton" 3
# Блок дополнительный настроек:
AddControl /W:-66 "TMyGroupBox" 1
# Кнопки-флажки в блоке доп. настроек:
AddControl /W:-67 "TCheckBox" 1
AddControl /W:-67 "TCheckBox" 2
AddControl /W:-67 "TCheckBox" 3
MoveOptionsButton
[/cut]

Loopback
Почему-то нижние чекбоксы не уменьшаются по ширине, разрывая правую границу группбокса.
И комбобокс списка перезаписи не всегда сокращается для DIALOG_COPYMOVE_POST, даже если экспериментировать в текущей сессии с одним объектом под курсором, нажав F5/F6 (+ кн. Опции) несколько раз.
Классическая тема семёрки, если это важно. Можно поправить?
Последний раз редактировалось Flasher Вт мар 05, 2019 11:24, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

rk2019
Правка экзешника TC на данном форуме не обсуждается вообще (независимо от её гипотетической результативности, которой в данном случае нет и быть не может). Получите предупреждение согласно пункту 5 правил форума. Да и в других местах на подобное "банальное редактирование" не надейтесь.
Об остальном сказано выше. Вам написали про действующую методику, а раз вы не хотите в ней разбираться (на это не наблюдается ни малейших намёков), то и обсуждать больше нечего. Прекращайте флуд.

Flasher
Коррекция скрипта помогла, спасибо.

Loopback
В обычной версии с исправленным скриптом (там по сравнению с указанным по ссылке ещё и пути, естественно, исправлялись) всё стало нормально. В тестовой версии отображается последовательная нормальная загрузка всех указанных в конфиге библиотек нужной битности.
Но есть одно "но". После коррекции скрипта с предыдущей (не тестовой) версией Autorun всё работает при применении скрипта правильно, пока запуск выполняется из стандартной рабочей папки TC (у меня это C:\Totalcmd\). Стоит папку TC с теми же настройками скопировать в другое место (например, D:\Totalcmd_921a\), как там при перезапуске со сменой битности начинается та же чехарда, что до правки скрипта. Но, что интересно, с тестовой версией Autorun появляются только сообщения о загрузке библиотек, ошибки не выводятся, диалог копирования изменяется правильно. Видимо, следует отметить, что в скрипте учтено и это предложение по модификации, а лежит он всегда в корне текущей папки TC.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Мм.. Забыл об одной важной вещи — ключ центрирования диалога (AddDialog) относительно родительского окна (хотя можно и главного ТС).
Ок, вроде это несложно должно быть. Но в любом случае, если включить сохранение позиций, оно будет перекрывать эту настройку. И это последнее :D
Flasher писал(а):Почему-то нижние чекбоксы не уменьшаются по ширине, разрывая правую границу группбокса.
Там класс "TCheckBox", а не "TMyCheckBox" должен быть.
Flasher писал(а):И комбобокс списка перезаписи не всегда сокращается для DIALOG_COPYMOVE_POST
Да, это я видел пару раз. Тут на самом деле довольно кривое место. Есть предположение, почему так получается: сейчас ожидается появление TCheckBox1 в групбоксе как индикатора, что произошло нажатие кнопки, сразу после этого выполняется перемещение. Вполне возможно, что комбобокс при создании появляется позже и перемещение успевает отработать до этого момента. Попробую поставить ожидание комбобокса вместо чекбокса. Можно и просто задержку, но это не самый лучший вариант, т.к. не подгонишь под производительность конкретного компьютера.

Avada
Хорошо, что заработало, но на самом деле все равно хотелось бы понять, почему вообще такая проблема возникает, когда Autorun запускается, но не загружает подплагин.
Ответить