Страница 64 из 243
Добавлено: Вс авг 25, 2013 19:57
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]Тотал вешается намертво, его процесс приходится убивать.
Добавлено: Вс авг 25, 2013 20:00
Flasher
Avada
Странно, а сейчас?
Добавлено: Вс авг 25, 2013 21:36
MVV
Интересно, связано ли исключение с тоталом, или ошибка в плагине. В первом случае бы сообщить Гислеру.
Насколько я понимаю логику, если мы рассматриваем варианты с активной панелью, то:
1. Если ActiveRight==0, мы просто открываем виртпанель и идём назад.
2. Если ActiveRight==1 и активна левая панель, то очень скоро тотал активирует правую, и нам надо открывать виртпанель справа и идти назад после активации правой панели.
3. Если ActiveRight==1 и активна правая панель, то просто открываем виртпанель и идём назад.
Т.о., если (ActiveRight==1)==R_isActive, т.е. панель меняться не будет, мы просто открываем виртпанель и идём назад (объединил варианты 1 и 3), в противном случае надо действовать, как в варианте 2.
Добавлено: Вс авг 25, 2013 22:08
Avada
Flasher
К cожалению, и сейчас всё то же исключение.
Добавлено: Пн авг 26, 2013 10:12
Loopback
MVV писал(а):Думаю, также стоит отметить, что такой запутанный синтаксис может быть непонятен не знакомым с ним людям.
Ну тут уж вряд ли упростить получится. Просто надо будет пару примеров в справке дать.
Flasher писал(а):У меня с этим CD на последней бете почему-то выдаёт:
Просто на всякий случай - на wincmd.ru выложен релиз. Правда от последней беты он ничем не отличается.
Добавлено: Пн авг 26, 2013 12:51
Flasher
Avada
Странное дело. На других машинах с XP SP3 проверил - всё пучком..
Но судя по всему это связано с этими строками:
Код: Выделить всё
IniRead ACTIVE_RIGHT %COMMANDER_INI% Configuration ActiveRight
If %ACTIVE_RIGHT% = 1 Then
Может, функция чтения ini кривая, может, с плагином каким-то конфликтует. Проверить бы с отключёнными секциями плагинов (для wdx оставить только autorun, естественно).
Добавлено: Пн авг 26, 2013 13:16
Loopback
Flasher писал(а):Но судя по всему это связано с этими строками:
Flasher писал(а):Может, функция тения ini кривая
Я бы тут скорее подозревал условие. Хорошо бы узнать, что после чтения из ini оказывается в переменной ACTIVE_RIGHT.
Добавлено: Пн авг 26, 2013 13:43
Flasher
Loopback
По логике должна быть единица. Если не она, или ключ отсутствует, то выполняется другая команда.
Добавлено: Пн авг 26, 2013 21:10
Avada
Flasher писал(а):Проверить бы с отключёнными секциями плагинов (для wdx оставить только autorun, естественно).
Проверял. Та же ошибка.
Добавлено: Вт авг 27, 2013 00:02
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 строчку:
Добавлено: Вт авг 27, 2013 09:21
Avada
Flasher
Попробовал. TC открывается с теми же каталогами, что при закрытии, но Virtual Panel не загружается (проверялось и попыткой вызова виртуального браузера, и по статусу плагина в TC Plugins Manager).
Добавлено: Вт авг 27, 2013 09:48
MVV
Flasher, настоятельно не рекомендую заменять двойные кавычки на апострофы непосредственно в строке параметров TCFS2 - это совершенно не поддерживается. И вообще у тебя микс кавычек. В апострофы нужно заключать всю строку параметров (по правилам плагина), а уже в строке использовать только двойные кавычки (уже по стандарту).
Avada, ещё один способ определить, что панель загружена - посмотреть переменные окружения.
Добавлено: Вт авг 27, 2013 09:59
Avada
MVV писал(а):ещё один способ определить, что панель загружена - посмотреть переменные окружения.
Ага, вижу.
Добавлено: Вт авг 27, 2013 12:17
Flasher
MVV
Напиши тогда рабочий вариант с 'правильными' кавычками.
Добавлено: Вт авг 27, 2013 16:03
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 требует, чтобы вся строка параметров была заключена в какие-либо кавычки - т.е. нужно использовать апострофы. В самих же параметрах строка конфига должна быть в кавычках, т.к. обрабатываться должна как единое целое.