arclite — работа с архивами на основе 7-Zip

Здесь можно обсудить ваш любимый плагин.
2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Sun 15 Aug, 2010 22:26

Тема для обсуждения arclite — нового альтернативного плагина архиватора 7-Zip для Far.
("Старый" плагин 7zipalt обсуждается в прежней теме.)

Внимание:
Начиная с билда 1762 плагин входит в комплект поставки юникодной версии FAR'а, заменяя собой Multiarc.
В arclite не реализованы некоторые функции, присутствовавшие в Multiarc, в частности упаковка в RAR.

Обсуждение: arclite вместо MultiArc в комплекте Far 2











Кодек LZHAM

DV
Posts: 342
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 5 times
Been thanked: 2 times

arclite — работа с архивами на основе 7-Zip

Post by DV » Sat 02 Jun, 2018 00:45

Latest post of the previous page:

С build 5200 тоже воспроизводится. Регрессия по отношению к build 5005, который я продолжал использовать до этого :)

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Sat 02 Jun, 2018 03:06

DV wrote:
Fri 01 Jun, 2018 23:05
Похоже, что в arclite
Не уверен, что дело в арклайт, но баг есть. Диалога у меня тоже не видно. Если копировать не Far.exe - всё ок.

DV
Posts: 342
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 5 times
Been thanked: 2 times

arclite — работа с архивами на основе 7-Zip

Post by DV » Sat 02 Jun, 2018 10:34

2useven10 wrote:
Sat 02 Jun, 2018 03:06
Не уверен, что дело в арклайт, но баг есть. Диалога у меня тоже не видно. Если копировать не Far.exe - всё ок.
Похоже, как-то связано с нажатием Enter при запросе копирования/распаковки любого .exe файла.
Изначально я проблему воспроизвёл при попытке обновить проигрыватель 1by1 путём замены имеющихся файлов новыми из архива, в котором 3 файла: 1by1.exe, License.txt и Readme.htm. Я выделил все три, нажал F5 и 3 раза нажал Enter на вопрос о перезаписи. С третьим нажатием Enter случилось то, что я описал.
Last edited by DV on Sat 02 Jun, 2018 10:36, edited 1 time in total.

User avatar
DrKnS
Posts: 4940
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 164 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Sat 02 Jun, 2018 10:40

DV wrote:
Fri 01 Jun, 2018 23:05
закрался какой-то жуткий баг
HaRT wrote:
Fri 01 Jun, 2018 23:27
кнопка Фара в таскбаре покраснела (от стыда?)
Плагин пытается показать диалог "Overwrite file".
Однако, он зачем-то пытается это делать из другого треда, что ни к чему хорошему привести не может:

Code: Select all

>	Far.exe!pluginapi::apiDialogRun(void * hDlg=0x00000000035a8750) Line 1084	C++
 	arclite.dll!0000000063f35bdc()	Unknown
 	arclite.dll!0000000063eda4d6()	Unknown
 	arclite.dll!0000000063eda77a()	Unknown
 	arclite.dll!0000000063efbd60()	Unknown
 	7z.dll!000000001e7657a2()	Unknown
 	7z.dll!000000001e765a67()	Unknown
 	7z.dll!000000001e70c12b()	Unknown
 	7z.dll!000000001e708813()	Unknown
 	7z.dll!000000001e75d4cb()	Unknown
 	7z.dll!000000001e75e86d()	Unknown
 	7z.dll!000000001e70c31b()	Unknown
 	msvcrt.dll!_endthreadex()	Unknown
 	msvcrt.dll!_endthreadex()	Unknown
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 07:34

DrKnS wrote:
Sat 02 Jun, 2018 10:40
он зачем-то пытается это делать из другого треда
Распаковка в последних версиях 7z сильно более многопоточная...

User avatar
DrKnS
Posts: 4940
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 164 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Mon 04 Jun, 2018 08:42

2useven10 wrote:
Mon 04 Jun, 2018 07:34
Распаковка в последних версиях 7z сильно более многопоточная...
Надо или даунгрейдить, или отключать, а в перспективе UI показывать в основном треде через ACTL_SYNCHRO.

Shmuel
Posts: 5538
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 182 times

arclite — работа с архивами на основе 7-Zip

Post by Shmuel » Mon 04 Jun, 2018 13:12

Захожу в 7z-архив, там в подпапке файл базы данных sqlite3, нажимаю Enter, файл открывается плагином Polygon, делаю изменение в базе. Во временном файле, создаваемом плагином Arclite, видно, что дата файла базы данных изменилась на текущую. Выхожу из базы данных, Arclite удаляет временный файл, не предлагая обновить архив. Это нормально?

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 13:52

Shmuel wrote:
Mon 04 Jun, 2018 13:12
Это нормально?
Видимо нет. Но причём здесь арлайт?

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 13:59

DrKnS wrote:
Mon 04 Jun, 2018 08:42
в перспективе UI показывать в основном треде через ACTL_SYNCHRO.
Надо будет запускать распаковку в отдельном потоке (чтобы основной тред был свободен для UI)?
Last edited by 2useven10 on Mon 04 Jun, 2018 13:59, edited 1 time in total.

User avatar
DrKnS
Posts: 4940
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 164 times

arclite — работа с архивами на основе 7-Zip

Post by DrKnS » Mon 04 Jun, 2018 14:17

2useven10 wrote:
Mon 04 Jun, 2018 13:59
Надо будет запускать распаковку в отдельном потоке (чтобы основной тред был свободен для UI)?
Наверное. А как там сейчас в авторском плагине сделано?

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 14:25

DrKnS wrote:
Mon 04 Jun, 2018 14:17
А как там сейчас в авторском плагине сделано?
ТамЗдесь просто зовется inArc->Extract(..., extractor) в основном потоке.
Колбеки идут через extractor, тот в котором проверяется необходимость перезаписи
теперь не всегда в основном потоке.
Как Там - не смотрел, но подозреваю что точно также - проверю...
Last edited by 2useven10 on Mon 04 Jun, 2018 16:20, edited 1 time in total.

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 16:40

Там тоже зовётся диалог из неосновного потока.
Но он нормально отрабатывает.

User avatar
zg
zero-gravity
Posts: 5497
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 73 times
Contact:

arclite — работа с архивами на основе 7-Zip

Post by zg » Mon 04 Jun, 2018 17:20

потому что там нет критической секции при вызове экспортов.

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Mon 04 Jun, 2018 19:56

zg, да, если убрать - диалог нормально показывается.
это самый простой способ вернуть плагин к более адекватному поведению.
даже если проблемы с filefind которые прибиваются этой критической секцией не устранены - они
гораздо меньшее зло чем текущее затыкание. делать перенос всего UI Из колбэков в основной поток
может и правильно, но на такой подвиг у меня времени нет, если кто-то готов - велкам...
Last edited by 2useven10 on Tue 05 Jun, 2018 06:57, edited 1 time in total.

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Tue 05 Jun, 2018 07:27

b289
Оставил одну критическую секцию в GetOpenPanelInfoW().
Диалог показывается и FileFind вроде не падает.

okaa2
Posts: 3
Joined: Tue 05 Jun, 2018 08:11

arclite — работа с архивами на основе 7-Zip

Post by okaa2 » Tue 05 Jun, 2018 08:24

Если я правильно понял, сломали вывод пути при разархивировании.
У меня настроены file association на открытие файлоа *.fb2 в fbreader.
При входе в архив и нажатии f3 fbreader открывает файл *.fb.
В последних сборках fbreader не видит файла *.fb из архива.
В сборке Far30b5200.x64.20180502.7z все работало нормально.
Предположительно, перестали передавать полный путь к разархивированному файлу.
В сборке Far30b5200.x64.20180502.7z выдается строка:
"FBReader.exe C:\Users\*****\AppData\Local\Temp\F3T83C6.tmp\file.fb2
А в сборке Far30b5225.x64.20180604.7z - только:
FBReader.exe file.fb2
Это можно исправить?

2useven10
Posts: 3598
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 3 times
Been thanked: 142 times

arclite — работа с архивами на основе 7-Zip

Post by 2useven10 » Tue 05 Jun, 2018 08:47

1) Кажется HaRT просил чтобы заголовок был именно таким. Возможно его просьба удовлетворена.
2) К плагину это не имеет отношения, так что тема выбрана неправильно.

Post Reply

Return to “Обсуждение плагинов”