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

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

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

Post by Ariman »

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

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

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

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

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


Сторонние модули:
Dir — поддержка вывода команд dir и ls в качестве виртуального архива. (на версии 1.10 работать не будет в связи с изменением API модулей)
Inno Setup - поддержка файлов Inno Setup (сделан на основе innounp).

Скачать последнюю сборку
Last edited by Ariman on Tue 26 Nov, 2019 11:25, edited 1 time 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: 9271
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 97 times
Been thanked: 205 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: 1042
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 10 times
Been thanked: 23 times

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

Post by Yegor »

Очень хотелось бы модуль для InnoSetup (знаю что есть в todo). Думал сделать сам, но версию Делфи, где строки неюникодные, даже ставить уже не хочется.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Во всех версиях Delphi есть юникодные строки.

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

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

Post by Ariman »

Yegor wrote:Очень хотелось бы модуль для InnoSetup (знаю что есть в todo).
Innounp дюже рефакторить надо для этой цели. Там всё заточено на то, что это консольное приложение. Я пытаюсь его в библиотеку превратить, но как-то тяжко идёт.
Max Rusov wrote:Во всех версиях Delphi есть юникодные строки.
Оно как бы да, но WideString и UnicodeString это разные вещи, хотя и обе про юникод.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Ariman wrote: Оно как бы да, но WideString и UnicodeString это разные вещи, хотя и обе про юникод.
Вам шашечки - или ехать?

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Вам шашечки - или ехать?
Та я вообще выше Delphi7 ничего не использую. :) Но может человек привык к фишкам новых строк, там всё таки особенности есть свои.

User avatar
HaRT
Moderator
Posts: 9271
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 97 times
Been thanked: 205 times

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

Post by HaRT »

Ariman wrote: Innounp дюже рефакторить надо для этой цели. Там всё заточено на то, что это консольное приложение.
Если надо, могу попытаться помочь советом — не по части конкретно Innounp, а по части преобразования консольного приложения в либу.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Yegor
Posts: 1042
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 10 times
Been thanked: 23 times

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

Post by Yegor »

Речь в том, чтобы компилировать под новой версией Делфи (где string - юникодный), нужно перешерстить весь код и сделать замену string -> AnsiString, Char -> AnsiChar и т.д. "Тупая" замена по всем файлам, и принцип "авось" заработает - не вариант. А с умом - времени нет.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

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

Post by Ariman »

HaRT wrote:Если надо, могу попытаться помочь советом — не по части конкретно Innounp, а по части преобразования консольного приложения в либу.
Теория особых проблем не вызывает. Вот с практикой сложности. :) Вся тулза заточена на целую тучу глобальных переменных и наличие консоли (туда часто что-то пишется). А если использовать как библиотеку, то глобальные переменные это совсем нехорошо.
Yegor wrote:Речь в том, чтобы компилировать под новой версией Делфи (где string - юникодный), нужно перешерстить весь код и сделать замену string -> AnsiString, Char -> AnsiChar и т.д. "Тупая" замена по всем файлам, и принцип "авось" заработает - не вариант. А с умом - времени нет.
У меня была когда-то мысль адаптировать под новые версии Delphi сорцы. Но там куча кода, которые был писан до того, как сам InnoSetup переехал. Меня посетила лень, и я решил, что проще новые файлы под старую делфю заточить, чем всё остальное под новую. :ha:

User avatar
HaRT
Moderator
Posts: 9271
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 97 times
Been thanked: 205 times

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

Post by HaRT »

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

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

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

Post by Ariman »

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

Я ещё не хочу сильно костыли лепить, потому что поддерживать надо обе проги параллельно. Хочется сделать нормальную систему, чтобы без проблем клепать обновления один раз сразу для всех.

Yegor
Posts: 1042
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 10 times
Been thanked: 23 times

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

Post by Yegor »

А где взять ModuleDef.h для 1.10 beta2? или он не менялся?
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

Ariman
Posts: 1264
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 35 times
Contact:

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

Post by Ariman »

Менялся. В 1.10 API модулей изменилось. В аттаче текущая версия (та же что и в beta2). Гарантий, что в релизе ничего не поменяется, не дам :).
Attachments
ModuleDef_1.10b2.rar
(1.04 KiB) Downloaded 41 times

User avatar
John Doe
Бюрократ
Posts: 12656
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 270 times

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

Post by John Doe »

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

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

Post Reply

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