Форум » [x]Harbour » косяк hb_unzipfile() ? РЕШЕНО Надо править ziparc.prg » Ответить

косяк hb_unzipfile() ? РЕШЕНО Надо править ziparc.prg

and3081: если создать zip с сохраненными путями, например hb_ZipFile('arc',{'*.dbf', 'tt\*.dbf'},6,,.t.,,.t.) то вложенные папки hb_UnzipFile не распаковывает. А hb_GetFilesInZip('arc') нормально возвращает массив имен, и там имена 'tt\...dbf' есть. hb_unzipfile() ни этот массив, ни литеральное задание конкретных имен кушать не хочет. Распаковывает только те имена, что без папки. файл arc.zip проверял, winrar распаковывает со всеми подпапками UPDATE. Во, еще косяк. Если zip содержит только файлы в подпапках, то и hb_GetFilesInZip() и hb_GetFileCOUNT() их не видит. А если хоть один файл без подпапки есть, то они видят все файлы.

Ответов - 4

and3081: -

and3081: Сделал ! Сам с собой тут общаюсь :) В ziparc.prg из библы hbziparc (харб 3.2.0) не было создания подпапок (создавалась только основная папка "куда"). Поэтому и create файла в отсутствующей папке не выполнялось, да при этом еще и флаг ошибки не устанавливался. Вставил несколько строчек в FUNCTION hb_UnzipFile в ziparc.prg, все заработало ! А как это сделать официально, чтобы при будущих обновлениях харбор не терялось ?

Dima: and3081 Попробуй написать Паше на почту она в профиле http://clipper.borda.ru/?32-pasha and3081 пишет: Сам с собой тут общаюсь :) Выходной однако


and3081: ага, еще один косячок hb_unzipfile(). Если zip порченный, то при попытке распаковки последний файл, который создался fcreate- после завершения остался открытым. Т.е.пока не выйдешь из проги его не удалить не перезаписать. Т.е. пропущен fclose в аварийном выходе hb_unzipfile(). Правки Паше отправил.



полная версия страницы