Подтверждение при закрытии / Exit confirmation

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

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

Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

В последнее время заметил, что регулярно AskExit стал требовать два раза (!) подтвердить закрытие Тотала.
Подозреваю, это связано с тем, что используется команда поиска в отдельном процессе, потому плагин Autorun два раза подгружает подплагин AskExit.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

LonerD писал(а):(кнопка Cansel, кстати, излишняя, хотя она и не мешает).
Кнопку Cancel я добавил специально, чтобы можно было отменять закрытие по Esc (обычные Yes/No по Esc закрыть нельзя).
LonerD писал(а):Просто наблюдаю следующую ситуацию, которая на мой взгляд не является удобной и логичной:
Если запустить две и более копии Тотала из одно и того же каталога (или же запустить в явном виде одну копию Тотала и из неё поиск и/или сравнение в фоновом процессе) - то при закрытии Тотала зачастую дважды выскакивает диалог "Вы действительно хотите закрыть программу? Yes-No-Cansel"
LonerD писал(а):Если можешь исправить поведение самого плагина AskExit - то так будет даже удобней.
При запуске поиска в отдельном процессе вторая копия AskExit может подгрузиться только в отдельный процесс, но у неё это не выходит, т.к. там нет главного окна (проверил, окна плагин не находит). У меня второй раз ничего не запускается при использовании фонового поиска.
Даже представить не могу, как при закрытии одного окна может быть два подтверждения. Единственное, что приходит в голову - если плагин загружен дважды из разных папок, тогда система может позволить загрузить его более одного раза. Нужна подробная инструкция.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Пока особо не пытался, но не смог отловить закономерность (если она есть). Думал, что тебе как автору, знающему и понимающему код небольшого плагина, будет виднее в каких случаях плагин может отрабатывать дважды при закрытии Тотала.

Один из критериев когда выскакивает два последовательных окна подтверждения закрытия Тотала - это запуск двух копий Тотала (даже из одного каталога, Тотал у меня вообще один) и/или запуск поиска и/или сравнения в фоновом процессе и/или даже перезапуск Тотала через Tinny TC Restarter (только сейчас обнаружил это).
Но, видимо, существует ещё какой-то критерий.
Воспроизвести удаётся не всегда (а на чистом Тотале с одним Автораном пока не удалось вообще).

Кстати, если использовать Tinny TC Restarter - то какой-то неоднозначный перезапуск получается. Использую команду:
%commander_path%\TCRestarter\TCRestarter.exe 1000 "%commander_exe%"
Повесил эту команду на кнопку на панели инструментов или в качестве пункта меню прикрутил - AskExit выдаёт диалоговое окно для подтверждения закрытия.
Повесил эту же команду на хоткей Shift+Ctrl+N - перезагрузка происходит тихо, без диалоговых окон. Лично мне больше тихий вариант перезагрузки нравится, но почему при одной и той же команде плагин отрабатывает по-разному - непонятно.
Windows 11 | TC DreamLair eternal pre-α
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

LonerD писал(а):Повесил эту же команду на хоткей Shift+Ctrl+N - перезагрузка происходит тихо...
но почему при одной и той же команде плагин отрабатывает по-разному - непонятно
Разве не из-за этого?
MVV писал(а):обновлён в 14:55, добавлен тихий выход при зажатии Shift
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

LonerD писал(а):это запуск двух копий Тотала
При этом каждая копия получает по одной копии плагина, других вариантов я представить себе не могу.
LonerD писал(а):Воспроизвести удаётся не всегда (а на чистом Тотале с одним Автораном пока не удалось вообще).
Пока не поймем, как воспроизвести, вряд ли что-то можно будет исправить или хотя бы понять.
sa писал(а):Разве не из-за этого?
Именно!
Ответить