Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)
Внимание: Начиная с билда 1762 плагин входит в комплект поставки юникодной версии FAR'а, заменяя собой Multiarc.
В arcliteне реализованы некоторые функции, присутствовавшие в Multiarc, в частности упаковка в RAR.
Обсуждение: arclite вместо MultiArc в комплекте Far 2
История внутри архива и ссылки на папки.
Поддержка lha-sfx на уровне плагина.
Возможность обновления архива по Shift-F1 (если указанный путь уже существует).
Пытаться открывать многотомный Rar даже если часть томов не удается открыть.
Перемещение файлов внутри архива (возможно ли вообще).
Возможность заменить/удалить SFX модуль у существующего архива.
Извлекать без путей как мультиарке, т.е. все файлы в одну директорию.
arclite теперь как-бы умолчательный архиваторный плагин, возможно стоит его пункт меню обозвать типа arclite — arhive support или Arсhive support (arclite).
Отображение общего прогресса при распаковке нескольких архивов.
Q: Я выделил несколько архивов, нажал Shift-F2 или Shift-F3 и мне не нравится как это работает.
A:Для обработки нескольких архивов рекомендуется использовать меню плагина (F11). Используйте версию 3.0.221 или новее.
Q: При попытке создать архив выдается сообщение о нехватке памяти. Свободной памяти много. Почему так происходит и что делать?
A: 7z требуется большой непрерывный блок памяти для архивации. Из-за фрагментации адресного пространства такого блока может не оказаться в наличии. Фрагментация как правило происходит из-за загрузки в память различных DLL: плагинов, расширений оболочки, хуков (используйте утилиту VMMap чтобы определить точно).
Возможные решения:
Использовать менее требовательный к памяти режим сжатия, к примеру вместо уровня сжатия Ultra выбрать Maximum.
2useven10, что-то у меня не вышло собрать с ключем /d2Qvec-mathlib, не пойму куда его добавлять. Дописал в 75-ю строку build.bat в каталоге arclite и сразу после nmake и в конце, все равно получаю ошибку:
makefile_vc замените
CPPFLAGS=$(CPPFLAGS) /arch:IA32
на
CPPFLAGS=$(CPPFLAGS) /arch:IA32 /d2Qvec-mathlib-
Пошла сборка! А я добавлял в CPPFLAGS на 8-й строке. Итог проверки: на PII как и прочие версии собранные VS падает утягивая FAR. Пока буду пользоваться MinGW сборкой. Все-равно спасибо за совет, жаль что не помогло.
Upd.: Кстати интересно что по Enter, как и официальная, эта сборка не вошла открывая ассоциированный архиватор, но если через F11 -> Open Archive то ArcLite не упал и зашел и распаковать даже вышло. При создании архива произошел вылет. Когда я перезапустил FAR и попробовал еще раз проделать вход в архив то ничего не вышло и ArcLite уже падает сразу.
Last edited by Dennis_Moore on Wed 01 May, 2019 14:40, edited 1 time in total.
Можно попробовать выкосить использование плавающей арифметики из плагина.
Если бы был способ как-то автоматизировать поиск мест где она применяется (их не должно быть много) вполне можно сделать...
В теме о сборке FAR'a меня попросили выложить бинарник собранный MinGW и я решил его еще раз проверить перед этим, оказалось не зря. На машине с PII на Win2k с враппером все работает отлично (пакует, распаковывает, не вылетает), но вот решил еще раз проверить на виртуалке с XP и оказалось что там работает не все гладко. Архивы создает, не вылетает, но войти в них не может. При попытке входа в только что созданный архив выдает такую ошибку (на WinXP и Win7):
Странно как-то: там работает, тут не работает. Хотелось бы узнать почему так.
Не вижу ничего странного.
Если проверять errno после ф-ии о которой нигде не сказано, что она errno выставляет - результат ожидаемый.
CHECK там просто надо убрать.
Официальная сборка делается из этого же кода и ей эта строка не мешает. Это явно проблемы только MinGW сборки. Вот только почему одна и та же dll работает нормально на W2k и не очень на остальных системах ? Может стоит проверить на XP с процессором без SSE2, но у меня сейчас такой нет (и что-то мне подсказывает что дело не в этом).
Закомментировал в attr.cpp 49-ю строку, пропали все надписи в меню и диалогах плагина.
Не могу представить как изменения и эффект могут быть связаны. может дело в чем-то ещё?
Кроме 10-ки сейчас ничего нет. До виртуалки доберусь не раньше 6-го.
Если что-то вам подскажет в чём дело - дайте знать.
Last edited by 2useven10 on Fri 03 May, 2019 16:46, edited 3 times in total.
Dennis_Moore,
Проверил на нескольких VM (32):
Vista, 2k3, Xp(sp3) - arclite.dll (MinGW 8.1.0) работает.
2k - не работает (отсутствуют ф-и, какие не проверял).
Я собирал до появления этого коммита, соответственно и 49-я строка была другой. Только что собрал, проверил на XP: распаковка и упаковка работают, вылетов в процессе нет. Еще раз спасибо всем причастным !