![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Всем доброго времени.
Использую I7zOutArchive интерфейс для создания архива. Если архив такой уже есть то он перезаписывается, а мне нужно дописывать к уже существующему. Пока я рою интернет в поисках ответа, может кто тут работал с этим архиватором и подскажет какие функции нужно использовать для этого. Заранее спасибо.
I'm learning to live...
|
![]() |
![]() |
![]() |
#2 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,799
|
![]()
А никак, похоже. В интерфейсе I7zOutArchive обновление попросту не реализовано. Может быть и так, что этот код написан очень давно, когда 7-Zip еще не умел обновлять архивы 7z. Некоторое время назад он еще не умел обновлять непрерывные архивы 7z, теперь научился, а обновить код SevenZip.pas некому.
|
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Эх пичалько... Я вот тут прорабатываю пример
Код:
Вот подумал что надо выгружать данные архива в стрим, и из стрима вписывать в новый архив + новые файлы. Но на сохранении выдает ошибку External SIGILL. Прям хоть в Элохиму обращайся... P.S. Вот все прекрасно сработало: Код:
Значит умеет он такие вещи делать без проблем, а видимо что-то не учитываю я...
I'm learning to live...
Последний раз редактировалось Stilet; 05.06.2015 в 14:02. |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Все! Разрулил ситуацию. Оказывается что AddStream на самом деле не копирует переданный ему поток, а просто учитывает его ссылку. А копирование происходить только при сохранении, соответственно если между AddStream и SaveToFile я освобождаю переменку, которая передана в качестве потока, архиватор не может ее использовать. Т.е. чтоб перезапаковать 7зипом нужно поступать так:
Код:
Пополню Алиску возможность обновления массива зато. Хоть как-нибудь ![]() P.S. Кстати, тема для потомков. Вдруг кто еще будет работать с этим архиватором.
I'm learning to live...
|
![]() |
![]() |
![]() |
#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 |