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

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

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

Post by 2useven10 »

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

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

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











Кодек LZHAM
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

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

Post by Тигрёнок »

Latest post of the previous page:

Бага. Если из 7z-архива переносить файлы на панель посредством F6, то при наличии на панели файла с тем же именем, что и файл в архиве, задаётся естественный вопрос, что делать. Выбираем Skip и видим, что по результатам данный файл из архива всё равно удаляется.
Съешь мыша – стань настоящим клавишником!
interligator
Posts: 25
Joined: Tue 09 Mar, 2010 14:21
Has thanked: 4 times

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

Post by interligator »

Почему-то не заходит (по Enter, по Ctrl+PgDn) в Adobe Flash CS5 .fla, которые на самом деле zip.
Плагин 7zip и сам 7zip (GUI) тоже почему-то не распознают эти файлы (Error: Can not open file as archive).
Сигнатура - 50 4b 03 04 14 00 00 08 (вроде бы обычный zip). Мultiarc их открывает.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

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

Post by Skirda »

А можно к сорцам добавить документ, аля HACKING-RU, в котором описать, например, как можно добавлять новые форматы (ну и пр. полезную инфу по кодингу, относящуюся к этому плагину)?
Или все зависит от ББ (7zip)?

Sorry, 49 страниц не осилил.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

Валя, тебе стоит больше смотреть в сторону newarc.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

Тигрёнок, поправил. Вероятно выпущу обновленную версию для Far2 с этим исправлением.

interligator, лучше сообщить об этом автору 7-Zip

Skirda, у меня есть планах создание простого примера модуля для поддержки нового формата. Но пока руки до этого не дошли. Если есть какие-то вопросы, всегда можно обсудить.
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

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

Post by WARP ItSelf »

Вкрадце (для Вали).

1. Делается модуль, экспортирующий функции:

CreateObject
GetHandlerProperty

для одного формата

или

CreateObject
GetHandlerProperty2
GetNumberOfFormats

если модуль реализует сразу несколько форматов.

1.1. GetHandlerProperty должна возвращать различные атрибуты поддерживаемого формата:

- название формата
- GUID (его будут передавать, когда будут вызывать CreateObject)
- расширение файла по умолчанию
- сигнатуру для поиска архива в файле (для SFX)

и т.п.

Не знаю, чем из этого пользуется арклайт.

1.2. CreateObject будет вызываться (в данном случае arclite'ом) для создания COM-объектов, реализующих различный функционал. В первую очередь реализуются интерфейсы IInArchive (чтение и распаковка содержимого архива) и IOutArchive (удаление, добавление и изменение элементов архива).

2. Необходим класс, реализующий интерфейс IInArchive. Это интерфейс служит для открытия архива, получения свойств элементов архива, извлечения элементов архива, получения свойств самого архива. Приведен в файле IArchive.h от 7z.

3. При необходимости добавления/удаления/создания необходим класс, реализующий интерфейс IOutArchive. Основная функция - обновление элементов архива. Приведен в файле IArchive.h от 7z.

4. Соответсвенно arclite/7z вызывает GetHandlerProperty несколько раз и получает всю необходимую информацию о формате.

4.1 При необходимости чтения/распаковки архива вызывает CreateObject(IInArchive) и получает экземпляр класса, реализующего IInArchive. Пользуется им по назначению.

4.2. При необходимости добавления элементов сначала вызывает CreateObject(IInArchive), а затем (внимание!) вызывает у полученного объекта функцию QueryInterface(IOutArchive), т.е. производит экземпляр класса, реализующего IOutArchive, связанный с объектом, реализующим IInArchive. Дальше вызывает методы IOutArchive, а написанный Валей сабплагин должен будет копировать элементы из старого архива (IInArchive) в новый (IOutArchive) (и добавлять новые, если нужно).

4.3. При необходимости создания архива сразу вызвается CreateObject(IOutArchive), а потом дергаются его методы. Реализация соответственно должна создать файл архива и добавить в него требуемое.

Как-то так, chupakabra поправит, если я ошибаюсь.
Никто не знал, а я...
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

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

Post by Docent1 »

1.5.0
Отвалилось открытие vhd файлов...
Docent1
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

А 7-zip этот файл открывает? Если да, то где его можно взять?
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

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

Post by Docent1 »

chupakabra wrote:А 7-zip этот файл открывает? Если да, то где его можно взять?
Да, открывает. А взять vhd файл:
http://download.microsoft.com/download/ ... _ru-ru.exe
Нужно извлечь файл xpm: WindowsXPMode_ru-ru.exe\sources\xpm;
Затем из файла xpm извлечь VirtualXPVHD (переименовать его в VirtualXP.VHD).
Для сравнения открыть его старой и новой версиями arclite.
Docent1
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

Да, есть проблема, причем проявляется только в релиз версии и без отладчика. Файлы на всякий случай убрал, до тех пока не разберусь в чем там дело.
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

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

Post by Kerberos464 »

спасибо за новую версию.
в архивах с плагином отсутствует changelog. и версию 7z.dll, наверное, есть смысл обновить до 7.22 (хоть и бета).
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
gk
Posts: 4
Joined: Wed 27 Apr, 2011 13:33

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

Post by gk »

Установил версию arclite 1.51, пытаюсь отредактировать файл 1cv7.md (конфигурация 1с), редактировать дает, дает сохранить через F2, при выходе из редактируемой ветки выдет сообщение "Изменение архива невозможно | plugin.cpp:474" и в итоге изменения не сохраняются.

Раньше я это мог делать с помощью плагина DocFile Browser, все работало, сейчас этот плагин не работает в Far2.

Можно ли доработать эту возможность в arclite?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

gk wrote:Раньше я это мог делать с помощью плагина DocFile Browser, все работало, сейчас этот плагин не работает в Far2.
А у меня почему-то работает.
Вот кстати версия поновее: http://sourceforge.net/projects/sevenfa ... z/download (вроде ничем от старой не отличается).
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

>> Можно ли доработать эту возможность в arclite?

Это от 7-zip зависит.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

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

Post by chupakabra »

Сделал пример модуля поддержки стороннего архивного формата:
http://farmanager.com/svn/trunk/plugins ... e/example/
Вопросы и замечания приветствуются.
Post Reply

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