|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.06.2015, 12:45 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
7Z API. Добавление к существующему архиву.
Всем доброго времени.
Использую I7zOutArchive интерфейс для создания архива. Если архив такой уже есть то он перезаписывается, а мне нужно дописывать к уже существующему. Пока я рою интернет в поисках ответа, может кто тут работал с этим архиватором и подскажет какие функции нужно использовать для этого. Заранее спасибо.
I'm learning to live...
|
05.06.2015, 13:21 | #2 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
А никак, похоже. В интерфейсе I7zOutArchive обновление попросту не реализовано. Может быть и так, что этот код написан очень давно, когда 7-Zip еще не умел обновлять архивы 7z. Некоторое время назад он еще не умел обновлять непрерывные архивы 7z, теперь научился, а обновить код SevenZip.pas некому.
В разработке: воспроизводственный контур ИТ
|
05.06.2015, 13:43 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Эх пичалько... Я вот тут прорабатываю пример
Код:
Вот подумал что надо выгружать данные архива в стрим, и из стрима вписывать в новый архив + новые файлы. Но на сохранении выдает ошибку External SIGILL. Прям хоть в Элохиму обращайся... P.S. Вот все прекрасно сработало: Код:
Значит умеет он такие вещи делать без проблем, а видимо что-то не учитываю я...
I'm learning to live...
Последний раз редактировалось Stilet; 05.06.2015 в 14:02. |
05.06.2015, 20:30 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Все! Разрулил ситуацию. Оказывается что AddStream на самом деле не копирует переданный ему поток, а просто учитывает его ссылку. А копирование происходить только при сохранении, соответственно если между AddStream и SaveToFile я освобождаю переменку, которая передана в качестве потока, архиватор не может ее использовать. Т.е. чтоб перезапаковать 7зипом нужно поступать так:
Код:
Пополню Алиску возможность обновления массива зато. Хоть как-нибудь P.S. Кстати, тема для потомков. Вдруг кто еще будет работать с этим архиватором.
I'm learning to live...
|
03.08.2016, 08:32 | #5 |
Форумчанин
Регистрация: 23.03.2013
Сообщений: 218
|
Спасибо! Весь мозг сломал пока тему не нашел!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Skype API Добавление контактов | bilibian | Общие вопросы Delphi | 13 | 04.11.2014 21:40 |
api vkontakte добавление аудиозаписи в плейлист на соц. сети вконтакте | Vistar | Свободное общение | 0 | 03.06.2011 18:28 |
Добавление текста к существующему файлу | nusik | Общие вопросы C/C++ | 6 | 30.07.2009 15:50 |
запрос на проверку пароля к RAR архиву | delphi7 | Помощь студентам | 7 | 19.07.2009 22:41 |