View previous topic :: View next topic |
Author |
Message |
Avada

Joined: 01 Aug 2008 Posts: 10418 Location: Россия, Саратов
|
(Separately) Posted: Tue Mar 05, 2019 12:08 Post subject: |
|
|
Loopback
Там дальше у меня была позднейшая дописка, когда заработало, а когда нет. Так что готов к дальнейшему обсуждению. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 05, 2019 12:30 Post subject: |
|
|
Loopback wrote: | Но в любом случае, если включить сохранение позиций, оно будет перекрывать эту настройку. И это последнее | Я было подумал, что с /SAVE:4/8/12 центрирование будет происходить само собой, но что-то у меня вообще ничего не подхватывается:
Code: | # Сохранение высоты "Определить цвета для типов файлов":
AddDialog /SAVE:8 "TDlgCustomColors"
AddCondition /TEXT /VISIBLE:1 "Определить цвета для типов файлов"
# Сохранение размеров "Внутренние ассоциации":
AddDialog /SAVE:12 "TDlgCustomColors"
AddCondition /TEXT /VISIBLE:1 "Внутренние ассоциации"
# Увеличение и сохранение высоты "Добавить выделение":
AddDialog /H:200 /SAVE:8 "TCOMBOINPUT"
AddCondition /TEXT /VISIBLE:1 "Добавить выделение"
AddControl /H:200 "TMyListBox" 1
# Измение и сохранение высоты диалога "Фильтр...":
AddDialog /H:200 /SAVE:8 "TCOMBOINPUT"
AddCondition /TEXT /VISIBLE:1 "Total Commander"
AddControl /H:200 "TMyListBox" 1
# Сохранение размеров "Выбор команды":
AddDialog /SAVE:12 "TCmdSelForm"
# Сохранение размеров "Файловые ассоциации":
AddDialog /SAVE:12 "TASSOCIATEDLG"
AddCondition /TEXT /PARENT "TMyPanel" 1 "Плагины"
AddDialog /SAVE:12 "TASSOCIATEDLG"
AddCondition /TEXT /PARENT "TMyPanel" 1 "Правка/Просмотр"
AddDialog /SAVE:12 "TASSOCIATEDLG"
# Сохранение размеров "Плагины файловой системы"
AddDialog /SAVE:12 "TFsPluginConfigForm"
AddCondition /TEXT /VISIBLE:1 "Плагины файловой системы"
# Сохранение размеров "Плагины внутреннего просмотрщика"
AddDialog /SAVE:12 "TFsPluginConfigForm"
AddCondition /TEXT /VISIBLE:1 "Плагины внутреннего просмотрщика"
# Сохранение размеров "Информационные плагины"
AddDialog /SAVE:12 "TFsPluginConfigForm"
AddCondition /TEXT /VISIBLE:1 "Информационные плагины" | Что делаю не так?
Насчёт "последнее" — а больше и не надо. И так выше крыши.
Главное, чтобы работало.
Loopback wrote: | Там класс "TCheckBox", а не "TMyCheckBox" должен быть. | Точно. Я наивно скопипастил класс у первого чекбокса. ) Спасибо. Исправил в сообщении — теперь порядок.
Add: Хотя нет... На относительно голом ТС работает, а на моём — нет, + отламывается TGroupBox.
Loopback wrote: | Попробую поставить ожидание комбобокса вместо чекбокса. | ОК.
Loopback wrote: | все равно хотелось бы понять, почему вообще такая проблема возникает, когда Autorun запускается, но не загружает подплагин. | С этой проблемой сталкивался ещё в далёком 2011 и даже не надеялся, что без полноценного закрытия ТС это возможно исправить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 13:09 Post subject: |
|
|
Avada wrote: | Но, что интересно, с тестовой версией Autorun появляются только сообщения о загрузке библиотек, ошибки не выводятся, диалог копирования изменяется правильно. |
Причем в сообщениях, как я понимаю, правильные полные пути?
Такое впечатление, что сообщение создает задержку из-за которой начинает все работать. Но инициализация функций плагинов происходит последовательно, и пока они все не загрузятся, скрипт Autorun дальше не пойдет.
Похоже, проблема возникает, если еще до конца не выгрузилась предыдущая версия TC, но я не понимаю, как это может влиять, особенно учитывая то, что версии разной битности и загружают свои версии плагина. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10418 Location: Россия, Саратов
|
(Separately) Posted: Tue Mar 05, 2019 13:15 Post subject: |
|
|
Loopback
Да, в сообщениях абсолютно правильные и полные пути. А идея о задержке приходила в голову и мне. Что, в скрипте для перезапуска надо задержку где-то попробовать увеличить? И почему эта карусель зависит от местоположения?
Со скриптом уже поигрался. Sleep(100) — нормально проходит первое переключение на x64 с 32-битного TC, но вылезают ошибки при возврате к прежней битности. Sleep(120) — вроде теперь всё нормально. Но буду ещё смотреть, в том числе на другой машине. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия.
Last edited by Avada on Tue Mar 05, 2019 13:30; edited 1 time in total |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 13:29 Post subject: |
|
|
Flasher wrote: | Я было подумал, что с /SAVE:4/8/12 центрирование будет происходить само собой |
Нет, такого не предполагалось.
Flasher wrote: | Что делаю не так? |
Ну как минимум, неправильно используешь функцию AddCondition
Code: | AddCondition /TEXT /VISIBLE:1 "Определить цвета для типов файлов" |
Во-первых, /TEXT и /VISIBLE: - вместе не используются. VISIBLE - это видимость контрола. Во-вторых, где класс/экземпляр контрола, для которого создается условие? Я так понимаю, ты здесь хочешь сравнить с текстом заголовка, тогда надо делать так:
Code: | AddCondition /TEXT "TDlgCustomColors" 0 "Определить цвета для типов файлов" |
На самом деле, должно работать и с пустым именем класса:
Code: |
AddCondition /TEXT "" 0 "Определить цвета для типов файлов"
|
Это надо документировать. Но "" 0 в любом случае останется, т.к. последовательность параметров.
Flasher wrote: | С этой проблемой сталкивался ещё в далёком 2011 и даже не надеялся, что без полноценного закрытия ТС это возможно исправить. |
Даже так. Ну я пока тоже не надеюсь, пока не смогу повторить у себя. Даже дебажку сделать сложно, пока не понимаешь где хоть примерно может быть проблема. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10418 Location: Россия, Саратов
|
(Separately) Posted: Tue Mar 05, 2019 13:31 Post subject: |
|
|
Loopback
Тут у меня опять существенное дополнение было... _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 13:39 Post subject: |
|
|
Avada wrote: | И почему эта карусель зависит от местоположения? |
Если бы я это знал, то наверно уже мог бы приступить к исправлению А так нет, не знаю, может скорость диска другая или еще что-то.
Avada wrote: | Тогда прошу конкретных рекомендаций, |
Вечером набросаю скриптик для перезапуска с ожиданием полного завершения процесса тотала. Чтобы хоть убедиться, что это действительно зависит от полной выгрузки процесса.
Дополнение видел, скорее всего да, зависимость от полной выгрузки (закрытие окна не означает полной выгрузки процесса). |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 05, 2019 14:08 Post subject: |
|
|
Loopback wrote: | Нет, такого не предполагалось. | Ясно. Жду опции.
Loopback wrote: | /TEXT и /VISIBLE: - вместе не используются. | ОК. Убрал везде /VISIBLE:1. Не обратил внимания на '|' в синтаксисе.
Loopback wrote: | Во-вторых, где класс/экземпляр контрола, для которого создается условие? | Посчитал, раз он задан в AddDialog, то повторно его писать не требуется в отличии от /PARENT.
Loopback wrote: | На самом деле, должно работать и с пустым именем класса: | Всюду добавил "" 0 после /TEXT — по нулям.
Loopback wrote: | Ну как минимум, неправильно используешь функцию AddCondition | Так в командах и твои примеры с TASSOCIATEDLG есть — не работает.
Loopback wrote: | Это надо документировать. | Это точно. Без подсказки бы не разобрался.
Loopback wrote: | закрытие окна не означает полной выгрузки процесса | Верно. Там нужен ProcessWaitClose. Вот упрощённый вариант. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 19:24 Post subject: |
|
|
Flasher wrote: | Посчитал, раз он задан в AddDialog, то повторно его писать не требуется в отличии от /PARENT. |
В принципе правильно посчитал, но были недокументированные нюансы.
Flasher wrote: | Всюду добавил "" 0 после /TEXT — по нулям. |
Да, тут была ошибка, причем в самом Autorun, из плагина не работали пустые параметры "" (до этого, похоже, такие нигде в плагинах не встречались). Так что выложу и исправленную версию Autorun.
Flasher wrote: | Так в командах и твои примеры с TASSOCIATEDLG есть — не работает. |
У меня работали, но тут в перечислении диалогов была одна глупая ошибка, думаю после исправления все будет ок.
Flasher wrote: | Вот упрощённый вариант. |
Примерно то, что и я бы написал. Хорошо, тогда я этим не занимаюсь.
Добавлено спустя 1 час 26 минут:
Сегодняшняя версия.
+ добавлено центрирование диалогов
- исправил ошибку в коде различения диалогов
- определение нажатия на Опции путем обнаружения появления 3 экземпляра комбобокса, возможно, это улучшит стабильность
Также обнаружилась ошибка в самом Autorun, поэтому для нормальной работы MoveButton желательно обновить и его.
- исправлена работа с пустыми параметрами из субплагинов
+ добавлены многострочные комментарии #[ .. #].
+ добавлена функция таймера для проверки производительности
Многострочных комментариев мне давно не хватало, особенно остро это встало когда появилась куча AddDialog и т.д. Что-то я обязательно добавлю, но вот с форматом не уверен. Сейчас сделал #[ .. #], но как-то вводится не очень интуитивно. Думаю еще про вариант #{ #}, мне кажется немного лучше. Хотя можно и как в Autoit #cs #ce. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 05, 2019 21:14 Post subject: |
|
|
Loopback
Да, теперь всё заработало. Комбобокс теперь тоже не глючит. Проверил на нескольких диалогах с добавкой центрирования. Всё просто потрясно!
Кнопки в "Добавить выделение/Фильтр..." перемещу — и всё супер будет.
И всё-таки один диалог таки сбрасывается после использования Win+Left/Right:
Code: | # Сохранение размеров "Выбор команды":
AddDialog /CENTER:3 /SAVE:12 "TCmdSelForm" |
И не очень понял:
Quote: | Если окно открывается из главного окна Total Commander, то при использовании флага 4 диалог будет отцентрирован относительно «Рабочего стола». | Разве это логично? ТС же остаётся родителем. Просто интересуюсь, т.к. меня более чем устраивает центровка относительно главного окна по /CENTER:3. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 21:41 Post subject: |
|
|
Flasher wrote: | Разве это логично? |
В данной ситуации вполне. Без флага 4 центрирование выполняется всегда относительно относительно главного окна ТС. Если включить флаг, то родительским для окна диалога, запущенного из опций, будет окно опций, а родительским к главному окну - десктоп. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 05, 2019 22:05 Post subject: |
|
|
Loopback wrote: | а родительским к главному окну - десктоп. | Почему к главному-то, если должно быть к диалогу?
Что по глюку с "Выбор команды"? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1545
|
(Separately) Posted: Tue Mar 05, 2019 22:42 Post subject: |
|
|
Flasher wrote: | Почему к главному-то, если должно быть к диалогу? |
Ну ок, соглашусь, если смотреть чисто по структуре может не очень логично. Просто иначе использование 4 для диалогов из главного окна вообще ничего не дает. А так какая-то смысловая нагрузка. Могу и убрать.
Code: |
Desktop
- Total Commander
- Dialog1
- Options
- Dialog2
|
Dialog1 без ключа 4 центрируется относительно Total Commander
Dialog1 с ключом 4 центрируется относительно Desktop
Dialog2 без ключа 4 центрируется относительно Total Commander
Dialog2 с ключом 4 центрируется относительно Options
Flasher wrote: | Что по глюку с "Выбор команды"? |
Пропустил, слишком много сегодня писанины. Скорее всего потому, что его позиция сохраняется самим тоталом.
А Win+Left/Right у меня ничего не делают вообще. |
|
Back to top |
|
 |
rk2019
Joined: 01 Mar 2019 Posts: 16 Location: Moskov
|
(Separately) Posted: Wed Mar 06, 2019 01:41 Post subject: |
|
|
Loopback
Вроде говорили что все исправимо, а у меня получается криво.
Posted after 15 minutes:
Я понимаю что 2 человека в этой ветке понимают, но может и остальным расскажите в какой файл эти строки ложить надо??
Code: | AddDialog /W:-70 "DIALOG_COPYMOVE"
# Первый выпадающий список:
AddControl /W:-64 "TMyComboBox" 2
# Второй выпадающий список:
AddControl /W:-72 "TMyComboBox" 1
# Кнопка-флажок "С проверкой MD5":
AddControl /X:-67 "TMyCheckBox" 1 |
Перечитал хелп, но нет основного - куда блин это вписать? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Mar 06, 2019 03:31 Post subject: |
|
|
Loopback wrote: | Просто иначе использование 4 для диалогов из главного окна вообще ничего не дает. | Как же не даёт? Оно будет сохранять, что важно, привязку к окнам ТС:
Code: | Dialog1/2 без ключа 4 центрируется относительно Total Commander
Dialog1 с ключом 4 центрируется относительно Total Commander
Dialog2 с ключом 4 центрируется относительно Options |
Loopback wrote: | Скорее всего потому, что его позиция сохраняется самим тоталом. | И это не обойти (ожиданием отрисовки, например)? Дело в том, что ТС сам не запоминает размер и позицию с флагом развёрнутости.
Loopback wrote: | А Win+Left/Right у меня ничего не делают вообще. | А должны, если у тебя Win7+, и ты их в реестре не заблокировал параметром:
Code: | HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DisabledHotkeys | По умолчанию с данными хоткеями активное окно заполняет левую/правую половину экрана. В системной справке это именуется как "Развертывание окна до левого/правого края экрана". С "Выбор команды" это иногда удобно, так как при достаточности ширины ты можешь наблюдать за интересующими объектами в видимой панели.
rk2019 wrote: | Вроде говорили что все исправимо, а у меня получается криво. | Разве мой пример с учётом всех последних правок плагина даёт такой результат? Очевидно, что нет.
rk2019 wrote: | Я понимаю что 2 человека в этой ветке понимают, но может и остальным расскажите в какой файл эти строки ложить надо?? | Ну, как минимум, 3, и то, потому, что обсуждают. Остальные смыслящие тихо, как это чаще бывает, ждут развязки.
В справке "help_ru.chm" на странице "Установка" (не говоря уж про десятки страниц топика) о каком файле идёт речь?
Вы как пришли к результату на скриншоте без правки этого файла? А других файлов настройки у плагина Autorun нет.
И надо понимать, что ценность имеют не только приведённые строки. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|