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

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

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

Post by Ariman »

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

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Last edited by Ariman on Wed 04 May, 2022 14:36, edited 7 times in total.
Zmey78
Posts: 30
Joined: Sun 22 Feb, 2015 16:37
Has thanked: 4 times
Contact:

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

Post by Zmey78 »

Latest post of the previous page:

Подскажите, плиз. Встроенный arclite открывает .VHD не корректно, внутри оказывается файл с тем же именем, но .MBR, который уже не открывается. Плагин "Observer" нормально будет открывать? (это я пытаюсь увидеть содержание бекапа от Windows Server 2008)
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Zmey78 wrote: Плагин "Observer" нормально будет открывать?
Не быстрее ли попробовать?
А вот если результат будет неудовлетворительной, то присылайте тестовый файл.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Zmey78
Posts: 30
Joined: Sun 22 Feb, 2015 16:37
Has thanked: 4 times
Contact:

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

Post by Zmey78 »

Работает, благодарю.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

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

Post by Yegor »

Очень хотелось бы модуль для InnoSetup (знаю что есть в todo). Думал сделать сам, но версию Делфи, где строки неюникодные, даже ставить уже не хочется.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

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

Post by Max Rusov »

Во всех версиях Delphi есть юникодные строки.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Yegor wrote:Очень хотелось бы модуль для InnoSetup (знаю что есть в todo).
Innounp дюже рефакторить надо для этой цели. Там всё заточено на то, что это консольное приложение. Я пытаюсь его в библиотеку превратить, но как-то тяжко идёт.
Max Rusov wrote:Во всех версиях Delphi есть юникодные строки.
Оно как бы да, но WideString и UnicodeString это разные вещи, хотя и обе про юникод.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

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

Post by Max Rusov »

Ariman wrote: Оно как бы да, но WideString и UnicodeString это разные вещи, хотя и обе про юникод.
Вам шашечки - или ехать?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Вам шашечки - или ехать?
Та я вообще выше Delphi7 ничего не использую. :) Но может человек привык к фишкам новых строк, там всё таки особенности есть свои.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: Innounp дюже рефакторить надо для этой цели. Там всё заточено на то, что это консольное приложение.
Если надо, могу попытаться помочь советом — не по части конкретно Innounp, а по части преобразования консольного приложения в либу.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

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

Post by Yegor »

Речь в том, чтобы компилировать под новой версией Делфи (где string - юникодный), нужно перешерстить весь код и сделать замену string -> AnsiString, Char -> AnsiChar и т.д. "Тупая" замена по всем файлам, и принцип "авось" заработает - не вариант. А с умом - времени нет.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Если надо, могу попытаться помочь советом — не по части конкретно Innounp, а по части преобразования консольного приложения в либу.
Теория особых проблем не вызывает. Вот с практикой сложности. :) Вся тулза заточена на целую тучу глобальных переменных и наличие консоли (туда часто что-то пишется). А если использовать как библиотеку, то глобальные переменные это совсем нехорошо.
Yegor wrote:Речь в том, чтобы компилировать под новой версией Делфи (где string - юникодный), нужно перешерстить весь код и сделать замену string -> AnsiString, Char -> AnsiChar и т.д. "Тупая" замена по всем файлам, и принцип "авось" заработает - не вариант. А с умом - времени нет.
У меня была когда-то мысль адаптировать под новые версии Delphi сорцы. Но там куча кода, которые был писан до того, как сам InnoSetup переехал. Меня посетила лень, и я решил, что проще новые файлы под старую делфю заточить, чем всё остальное под новую. :ha:
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote: наличие консоли (туда часто что-то пишется)
Так вот нельзя ли у них перехватить дескрипторы 0, 1 и 2 — через reopen или ещё как? Я что-то читал про такие техники — при необходимости найду.
Ariman wrote: если использовать как библиотеку, то глобальные переменные это совсем нехорошо
Да никакой особой разницы вроде. Модуль загрузился — переменные доступны; можно при необходимости принудительно занулить сегменты неинициализированных данных. Разумеется, их main() надо будет растащить на инициализацию и финализацию.
Или я что-то важное упускаю?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Так вот нельзя ли у них перехватить дескрипторы 0, 1 и 2 — через reopen или ещё как? Я что-то читал про такие техники — при необходимости найду.
Можно, а толку то? Надо же нормально возвращать ошибки в родительскую программу. Опять же вопросы прога задает и читает ввод, не парсить же строчки. Надо уже нормально переделывать.
HaRT wrote:Да никакой особой разницы вроде. Модуль загрузился — переменные доступны; можно при необходимости принудительно занулить сегменты неинициализированных данных. Разумеется, их main() надо будет растащить на инициализацию и финализацию.Или я что-то важное упускаю?
Есть одна важная проблема с глобальными переменными - открывать можно только один файл. Попытаемся открыть на второй панели другой inno файлик - капут.

Я ещё не хочу сильно костыли лепить, потому что поддерживать надо обе проги параллельно. Хочется сделать нормальную систему, чтобы без проблем клепать обновления один раз сразу для всех.
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

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

Post by Yegor »

А где взять ModuleDef.h для 1.10 beta2? или он не менялся?
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Менялся. В 1.10 API модулей изменилось. В аттаче текущая версия (та же что и в beta2). Гарантий, что в релизе ничего не поменяется, не дам :).
Attachments
ModuleDef_1.10b2.rar
(1.04 KiB) Downloaded 54 times
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Ariman wrote: Гарантий, что в релизе ничего не поменяется, не дам .
Значит не поменялось?

P.S.
И надо понимать, что упомянутый в шапке сторонний модуль в новой версии не работает, надо бы пометить.
Post Reply

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