Autorun

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

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

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

Сообщение Avada »

Flasher
Не очень-то она оптимальная пока что. :( С последним вариантом при попытке перезапуска TC стабильно вылезает
[cut="access violation"]---------------------------
Total Commander 8.01
---------------------------
Access violation at address 00000000. Read of address 00000000.
Access violation at address 00000000. Read of address 00000000
Windows XP SP3 5.1 (Build 2600)

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000005
Stack trace:
00000000
>4045FE 63743A 444AD1 446A22 423F38 445FE3
423F38 445FE3 423F38 63EFFE 444AD1 446A22
423F38 445FE3 423F38 4E7DED 4EAF79 633B04
425774 444AD1 444A0F 44691B 446977 444A0F
44415F 6D9F34
Raw:
444AD1 446CF1 425C14 4460A5 446A22 423F38
445FE3 423F38 403CB4 6C92A4 4045FE 648FA4
45F31F 45F1C4 45F8CD 45FE58 45FE6D 460D39
443D3C 64AB7A 446D9B 444A1B 446DD6 4479FF
444AD1 446CF1 4460A5 446A22 446A45 423F38
446D9B 445FE3 423F38 445F51 445F51 423F38
446D9B 444AD1 446CF1 4460A5 446A22 446A45
423F38 445FE3 423F38 63743A 444AD1 446CF1
425C14 4460A5 446A22 423F38 445FE3 423F38
445FE3 423F38 44670D 4466F3 44680E 445C27

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Да Нет
---------------------------[/cut]Тотал вешается намертво, его процесс приходится убивать.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

Интересно, связано ли исключение с тоталом, или ошибка в плагине. В первом случае бы сообщить Гислеру.

Насколько я понимаю логику, если мы рассматриваем варианты с активной панелью, то:
1. Если ActiveRight==0, мы просто открываем виртпанель и идём назад.
2. Если ActiveRight==1 и активна левая панель, то очень скоро тотал активирует правую, и нам надо открывать виртпанель справа и идти назад после активации правой панели.
3. Если ActiveRight==1 и активна правая панель, то просто открываем виртпанель и идём назад.

Т.о., если (ActiveRight==1)==R_isActive, т.е. панель меняться не будет, мы просто открываем виртпанель и идём назад (объединил варианты 1 и 3), в противном случае надо действовать, как в варианте 2.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
К cожалению, и сейчас всё то же исключение.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

MVV писал(а):Думаю, также стоит отметить, что такой запутанный синтаксис может быть непонятен не знакомым с ним людям.
Ну тут уж вряд ли упростить получится. Просто надо будет пару примеров в справке дать.
Flasher писал(а):У меня с этим CD на последней бете почему-то выдаёт:
Просто на всякий случай - на wincmd.ru выложен релиз. Правда от последней беты он ничем не отличается.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Странное дело. На других машинах с XP SP3 проверил - всё пучком..
Но судя по всему это связано с этими строками:

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

IniRead ACTIVE_RIGHT %COMMANDER_INI% Configuration ActiveRight
If %ACTIVE_RIGHT% = 1 Then
Может, функция чтения ini кривая, может, с плагином каким-то конфликтует. Проверить бы с отключёнными секциями плагинов (для wdx оставить только autorun, естественно).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Но судя по всему это связано с этими строками:
Flasher писал(а):Может, функция тения ini кривая
Я бы тут скорее подозревал условие. Хорошо бы узнать, что после чтения из ini оказывается в переменной ACTIVE_RIGHT.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
По логике должна быть единица. Если не она, или ключ отсутствует, то выполняется другая команда.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher писал(а):Проверить бы с отключёнными секциями плагинов (для wdx оставить только autorun, естественно).
Проверял. Та же ошибка.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Ладно, проехали. Попробуй тогда вместо этого так:

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

ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' "/ef 'tcd(,`\\\Virtual Panel`) run_item(JumpR), tcini(Configuration, ActiveRight, 1) | tcd(`\\\Virtual Panel`)" tcm(570,1)'"
Предварительно добавь в секцию Items конфига TCFS2 строчку:

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

JumpR=tcm(4002,0), eval(R_isActive==0)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Попробовал. TC открывается с теми же каталогами, что при закрытии, но Virtual Panel не загружается (проверялось и попыткой вызова виртуального браузера, и по статусу плагина в TC Plugins Manager).
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher, настоятельно не рекомендую заменять двойные кавычки на апострофы непосредственно в строке параметров TCFS2 - это совершенно не поддерживается. И вообще у тебя микс кавычек. В апострофы нужно заключать всю строку параметров (по правилам плагина), а уже в строке использовать только двойные кавычки (уже по стандарту).

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

Сообщение Avada »

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

Сообщение Flasher »

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

Сообщение MVV »

Flasher,
У тебя были правильные варианты, да и я уже писал, как нужно.

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

ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' '/ef "tcd(,`\\\Virtual Panel`) run_item(JumpR), tcini(Configuration, ActiveRight, 1) | tcd(`\\\Virtual Panel`)" tcm(570,1)'
В строке параметров нам необходимо использовать кавычки, поэтому использовать их внешне нельзя, но синтаксис Autorun требует, чтобы вся строка параметров была заключена в какие-либо кавычки - т.е. нужно использовать апострофы. В самих же параметрах строка конфига должна быть в кавычках, т.к. обрабатываться должна как единое целое.
Ответить