Page 137 of 147

Observer — распаковка файлов из различных контейнеров

Posted: Mon 31 Aug, 2009 11:29
by Ariman
Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)

Observer — распаковка файлов из различных контейнеров

Posted: Sun 16 Aug, 2020 06:56
by Ariman

Latest post of the previous page:

emusic wrote: Sat 15 Aug, 2020 13:16 Спасибо, msvcr100.dll и msvcp100.dll помогли. Только они от VS 2010, о чем написано в readme.
Эти файлы были актуальны для старых версий 1.11 и ниже. В 1.12 уже новый runtime, от VS 2017, о чем написано в требованиях по ссылке.
Taciturn wrote: Sun 16 Aug, 2020 05:50 Про VISE есть ответ, судя по всему верный ещё лет на 5-10:
Так и есть.
Некоторые модули и закончить не получается, и выкинуть жалко. В релиз не отправишь, а мутить схемы с разными конфигами лениво.

Observer — распаковка файлов из различных контейнеров

Posted: Mon 17 Aug, 2020 11:26
by emusic
Ariman wrote: Sun 16 Aug, 2020 06:56В 1.12 уже новый runtime, от VS 2017, о чем написано в требованиях по ссылке.
Я всегда беру с PlugRing, а там до сих пор 1.11.2. То, что по ссылке в шапке темы отдается 1.12, обнаружил только что. Похоже, для использования Observer нужно постоянно быть в теме, а просто взять и пользоваться не получается. :)

Кстати, в десятках в WinSxS есть msvcp140_clr0400.dll и vcruntime140_clr0400.dll, с соответствующими линками в System32/SysWOW64. Если сделать на них линки msvcp140.dll и vcruntime140.dll, то модули 1.12 с ними успешно работают. Возможно, если указать assembly через манифет, то будет работать из коробки.

Observer — распаковка файлов из различных контейнеров

Posted: Mon 17 Aug, 2020 13:40
by Ariman
emusic wrote: Mon 17 Aug, 2020 11:26 Я всегда беру с PlugRing, а там до сих пор 1.11.2.
Plugring отказался принимать файлы у меня по какой-то причине. Пришлось так оставить.
emusic wrote: Mon 17 Aug, 2020 11:26 Кстати, в десятках в WinSxS есть msvcp140_clr0400.dll и vcruntime140_clr0400.dll, с соответствующими линками в System32/SysWOW64. Если сделать на них линки msvcp140.dll и vcruntime140.dll, то модули 1.12 с ними успешно работают. Возможно, если указать assembly через манифет, то будет работать из коробки.
Помимо этих двух файлов есть и другие в зависимостях. Надо просто VS2017 C++ Runtime поставить, и всё будет работать точно.

Observer — распаковка файлов из различных контейнеров

Posted: Fri 16 Oct, 2020 22:11
by Maximus5
Пересобрал dir.so если кому надо
https://github.com/Maximus5/FarPlugins/ ... so-3.0.0.6

Observer — распаковка файлов из различных контейнеров

Posted: Fri 16 Oct, 2020 22:19
by HaRT
Maximus5 wrote: Fri 16 Oct, 2020 22:11 Пересобрал dir.so если кому надо
https://github.com/Maximus5/FarPlugins/ ... so-3.0.0.6
Спасибо. А для какой это версии плагина?

Observer — распаковка файлов из различных контейнеров

Posted: Fri 16 Oct, 2020 22:24
by Maximus5
HaRT wrote: Fri 16 Oct, 2020 22:19 Спасибо. А для какой это версии плагина?
для 1.12

Observer — распаковка файлов из различных контейнеров

Posted: Fri 16 Oct, 2020 22:41
by HaRT
Maximus5 wrote: Fri 16 Oct, 2020 22:11 Пересобрал dir.so если кому надо
https://github.com/Maximus5/FarPlugins/ ... so-3.0.0.6
@Ariman, подправьте, пожалуйста, шапку темы в части, касающейся этого модуля.

Observer — распаковка файлов из различных контейнеров

Posted: Sun 18 Oct, 2020 19:57
by Ariman
Поправил.

Observer — распаковка файлов из различных контейнеров

Posted: Sun 18 Oct, 2020 22:50
by buniak_a_h
Ariman!
Я прошу прощения, если такие вопросы уже задавались, но сейчас обсуждение занимает 137 страниц, все не просмотреть…
Вопросы касаются выполнения из LUA-скрипта.
  1. Есть ли возможность не распаковать контейнер, а получить список содержимого?
  2. Работает ли переход на папку внутри контейнера через функцию panel.SetPanelDirectory?
    Эксплуатация показала, что работает. Вопрос снимается
    Зачем мне это надо:
    Я когда-то написал панельный модуль для представления структуры каталога (в т.ч. и упакованного в архив) в виде дерева. Увы, ограничение то же самое - возможность получения списка вложения по 7z. Наверно, было бы полезно также получать список от observer-а.
    Если (1)-го нету, но в планах стоит реализовать, то было бы неплохо, чтоб в списке были бы отражены размеры, дата последней модификации, атрибуты (d и h). Остальное меня лично не интересует.
  3. Можно ли вызвать функции observer-а через вызовы Plugin.Call, Plugin.Menu и Plugin.Command? В документации я этого не нашёл, а просто вызов observer-а из меню плагинов выводит вторичное меню - хотелось бы этого избежать.

Observer — распаковка файлов из различных контейнеров

Posted: Wed 28 Oct, 2020 21:39
by Zzzz
Observer_Far3_x86_1.12.1.7z
В комплектном конфиге прописаны отсутствующие модули и при первой попытке открыть архив появляется окошко без упоминания Обсервера:
╔═══════════════════ Loading Error ════════════════════╗ ║ Some modules failed to load ║ ║ PDB ║ ║ Не найден указанный модуль. ║ ║ VISE ║ ║ Не найден указанный модуль. ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╟──────────────────────────────────────────────────────╢ ║ { OK } ║ ╚══════════════════════════════════════════════════════╝

Observer — распаковка файлов из различных контейнеров

Posted: Thu 29 Oct, 2020 10:50
by Taciturn
Zzzz, см. предыдущую страницу, viewtopic.php?p=161869#p161869.

Observer — распаковка файлов из различных контейнеров

Posted: Thu 29 Oct, 2020 14:34
by DrKnS
Zzzz wrote: Wed 28 Oct, 2020 21:39 появляется окошко без упоминания Обсервера
Кхе-кхе

Observer — распаковка файлов из различных контейнеров

Posted: Fri 30 Oct, 2020 08:13
by Ariman
buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Есть ли возможность не распаковать контейнер, а получить список содержимого?
Понятия не имею. Плагин экспортирует стандартные функции API, но чем из этого позволяет пользоваться LUA я не знаю.
buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Можно ли вызвать функции observer-а через вызовы Plugin.Call, Plugin.Menu и Plugin.Command?
Нет. Такой фичи пока нет. Когда-нибудь появится.
Zzzz wrote: Wed 28 Oct, 2020 21:39 Observer_Far3_x86_1.12.1.7z
В комплектном конфиге прописаны отсутствующие модули и при первой попытке открыть архив появляется окошко без упоминания Обсервера:
В конфиге из поставки это окно отключено. Зачем было его включать, а потом пугаться?

Претензии по виду окна принимаются, сделаю понятнее.

Observer — распаковка файлов из различных контейнеров

Posted: Fri 30 Oct, 2020 10:21
by Zzzz
Я не помню, когда прописал в observer_user.ini "VerboseModuleLoad=1" :-D
Но раньше не было этого окошка.

Observer — распаковка файлов из различных контейнеров

Posted: Sat 31 Oct, 2020 00:58
by buniak_a_h
Ariman wrote: Fri 30 Oct, 2020 08:13
buniak_a_h wrote: Sun 18 Oct, 2020 22:50 Есть ли возможность не распаковать контейнер, а получить список содержимого?
Понятия не имею. Плагин экспортирует стандартные функции API, но чем из этого позволяет пользоваться LUA я не знаю.
В "стандартных функциях API" такая функция есть без сомнения. Вы её используете, когда составляете список файлов для панели (в функции GetFindDataW, наверное). Вопрос в том, экспортирует ли Ваш плагин результаты по какой-нить команде (хотя бы из командной строки)

Observer — распаковка файлов из различных контейнеров

Posted: Sun 01 Nov, 2020 18:30
by Ariman
Плагин экспортирует GetFindDataW, стандартную функцию плагинового API. Другие варианты экспорта списка файлов отсутствуют.