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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива. На версии 1.10 (и новее) работать не будет в связи с изменением API модулей.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Скачать последнюю сборку
Last edited by Ariman on Sun 12 Apr, 2020 07:57, edited 3 times in total.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

Latest post of the previous page:

Ariman wrote:Какая версия плагина, ванильная или патченая с 73 страницы?
Падала "ванильная", патченная - заработала. Вы бы в шапку об этом написали, что-ли.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

При вызове через префикс "observe:" выдается GUI message:

Loading Error
Dependency library not found

Повторный вызов - молча игнорируется.

Пробовал ISO и MSI.
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Max Rusov wrote:При вызове через префикс "observe:" выдается GUI message:
Исправил. Не учел при адаптации нового API изменения в обработке префикса.

PS. В шапку добавил ссылку на обновление
Attachments
4Observer_Far3_x64_b3000+.rar
Версия для x64
(79.24 KiB) Downloaded 183 times
4Observer_Far3_b3000+.rar
Версия для x86
(70.57 KiB) Downloaded 206 times
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

Ariman wrote:Исправил. Не учел при адаптации нового API изменения в обработке префикса
Это работает, но есть другой косяк.

1. Запустить FAR
2. Загрузить Observer (например войти и выйти из любого хост-файла)
3. Открыть любой текстовый файл.

У меня при этом 4 раза выдается та-же гуевая ошибка что и раньше, а потом все работает. Если сначала открыть файл, а потом загрузить Observer, то ошибок уже не возникает
montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero »

Ariman wrote:А в чем идея таких файлов? По идее инсталяха должна что-то ставить же. Просто интересно даже.
Вообще говоря, msi может много чего сделать, не установив ни одного файла. У Windows Installer богатые возможности по внесению всевозможных изменений в систему. Ну, и для тестов-экспериментов.
Ariman wrote:Если есть потребность смотреть все таблицы, то эту фичу надо по другому делать. Если все дампить в один файл, будет не читаемая каша. Так на вскидку, можно, наверное, сделать фейковую папку (типа "{embedded}") и в отдельный файл каждую таблицу совать.
Обычно, редко нужно смотреть прям все таблицы. Самые востребованные (для меня) - это Property, реестр, файлы-каталоги, SummaryInformation. Но если будут все таблицы - не откажусь )
"Far... Far never changes..."
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Max Rusov wrote:У меня при этом 4 раза выдается та-же гуевая ошибка что и раньше, а потом все работает. Если сначала открыть файл, а потом загрузить Observer, то ошибок уже не возникает
У себя не могу повторить. Эта ошибка из модуля vdisk, когда он не может подгрузить нужную либу (скорее всего DiscUtils). Эта dll-ка лежит рядом с модулем? И сам модуль в итоге загрузился или нет?
montonero wrote:Вообще говоря, msi может много чего сделать, не установив ни одного файла. У Windows Installer богатые возможности по внесению всевозможных изменений в систему. Ну, и для тестов-экспериментов.
Забавно. Ну, если так надо, могу убрать обязательное требование наличия таблиц с файлами. Это не принципиальный вопрос.
montonero wrote:Обычно, редко нужно смотреть прям все таблицы. Самые востребованные (для меня) - это Property, реестр, файлы-каталоги, SummaryInformation. Но если будут все таблицы - не откажусь )
Эти данные и так есть. Но мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

Ariman wrote:У себя не могу повторить. Эта ошибка из модуля vdisk, когда он не может подгрузить нужную либу (скорее всего DiscUtils). Эта dll-ка лежит рядом с модулем? И сам модуль в итоге загрузился или нет?
Это какой-то конфликт с FarNet, вернее с его субплагином RightWords для проверки орфографии. Ошибка появляется только при открытии файлов, которые настроены для проверки.
Закомментировал в observer.ini VDISK - ошибка исчезла.

Вообщем, если захочешь разобраться - надо поставить FarNet+RightWords
User avatar
HaRT
Moderator
Posts: 9524
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

Ariman wrote:могу убрать обязательное требование наличия таблиц с файлами. Это не принципиальный вопрос.
[...]
мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.
Предлагаю добавлять ценность шаг за шагом. Для начала снять ограничение на наличие таблиц, посмотреть, что получилось, и уже там решать, куда двигаться дальше.

(Не)кстати, как там дела с PDB? (Только не подумайте, будто я подгоняю.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero »

Ariman wrote:Эти данные и так есть. Но мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.
Просто, в данный момент mst вообще не поддерживаются. Поэтому для начала хотелось бы хотя бы минимальную инфу. Но если будет запланирован показ всех таблиц, то не смею возражать и торопить. Есть у меня подозрение, что с mst могут быть некоторые проблемы.
"Far... Far never changes..."
User avatar
zg
zero-gravity
Posts: 5863
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 155 times
Contact:

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

Post by zg »

zg wrote:1. падает при шатдауне системы.
всё ещё падает.
2. f11->observer на папке первый раз падает. если зайти предварительно в какой-нибудь файл — не падает.
баг тут:

Code: Select all

static bool GetSelectedPanelFilePath(wstring& nameStr)
{
…
      int dirBufSize = (int) FarSInfo.PanelControl(PANEL_ACTIVE, FCTL_GETPANELDIRECTORY, 0, NULL);
      FarPanelDirectory *panelDir = (FarPanelDirectory*) malloc(dirBufSize);
      FarSInfo.PanelControl(PANEL_ACTIVE, FCTL_GETPANELDIRECTORY, dirBufSize, panelDir);
…
не устанавливается StructSize.
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Вообщем, если захочешь разобраться - надо поставить FarNet+RightWords
Поставил, но не хочет ругаться. Наверное что-то настроить ещё надо. Еще поковыряюсь. Попробуй, если не сложно, версию vdisk в аттаче. Я поменял сообщение об ошибке, и теперь должно показывать что именно модуль пытается подгрузить. Есть подозрение, что он может перехватить обработку загрузки от других плагинов и пытаться грузить чужие либы.
HaRT wrote:Предлагаю добавлять ценность шаг за шагом. Для начала снять ограничение на наличие таблиц, посмотреть, что получилось, и уже там решать, куда двигаться дальше.
Тоже верно. Убрал ограничение в msi на таблицы, для всех желающих в аттаче версия на попробовать.
HaRT wrote:(Не)кстати, как там дела с PDB? (Только не подумайте, будто я подгоняю.)
Пока, к сожалению, туго. Легкий способ (это спереть готовый код :)) не получился, а до толкового исследования вопроса руки не доходят.
montonero wrote:Просто, в данный момент mst вообще не поддерживаются.
Теперь по идее должно открыться, когда убрано ограничение на таблицы с файлами и каталогами (которых в mst файлах, естественно, нет). Попробуй.
Attachments
vdisk.rar
Изменен диалог ошибки загрузки
(22.25 KiB) Downloaded 85 times
msi.rar
Убраны ограничения по таблицам
(45.45 KiB) Downloaded 105 times
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

Ariman wrote:Есть подозрение, что он может перехватить обработку загрузки от других плагинов и пытаться грузить чужие либы
Похоже, типа того.
Attachments
Error.png
Error.png (21.19 KiB) Viewed 5410 times
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Похоже, типа того.
Спасибо, теперь понятно куда копать. Вроде поправил, теперь не должно ругаться на чужие запросы.
Attachments
vdisk.rar
Исправлен конфликт с другими плагинами
(22.33 KiB) Downloaded 109 times
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 12 times

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

Post by Max Rusov »

Ошибка исчезла, спасибо. Работает ли модуль проверить не могу - не на чем.
Ariman
Posts: 1290
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 41 times
Contact:

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

Post by Ariman »

zg wrote:баг тут:
[…]
не устанавливается StructSize.
Спасибо, поправил. С приаттаченой версией не падает теперь?
Attachments
4Observer_dll_Far3.rar
StructSize fix
(70.47 KiB) Downloaded 118 times
User avatar
zg
zero-gravity
Posts: 5863
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 155 times
Contact:

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

Post by zg »

Ariman wrote:Спасибо, поправил. С приаттаченой версией не падает теперь?
по второму пункту — нет.
Post Reply

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