Вниз
Скачать: CL | DM;

Пошлый вопрос про UnZip   Найти похожие ветки 

← →
Def   (2003-08-06 16:24) [0]

Всем привет.
Заранее извиняюсь за довно уже избитый вопрос.
Прога в процессе работы должна распаковывать zip файло. Для этих целей использую TMiniZip. Все в порядке до тех пор, пока я не устанавливаю прогу на Win98. Отказывается разархивировать файло.
Может кто поможет ссылкой на какойнить другой компонент. Дело в том, что прога расходится по разным организациям и какая там винда стоит не известно.Должна под всеми работать.


← →
HolACost ( nickname )   (2003-08-06 17:13) [1]

Ты на www.torry.net смотрел, а лучше - сли зипы только в твоей проге делается, то используй zlib!


← →
HolACost ( nickname )   (2003-08-06 17:37) [2]

А что в ошибке пишет, когда отказывается распаковывать?


← →
Def   (2003-08-06 17:48) [3]

Ничего не пишет ...
if not Self.MiniZip1.UnzipAllTo(ExtractFileDir ( Application.ExeName) Ничего не пишет ...
if not Self.MiniZip1.UnzipAllTo(ExtractFileDir (Application.ExeName)+"\XLS\") then Begin
.....
End;
Просто возвращает False.


← →
HolACost ( nickname )   (2003-08-06 18:27) [4]

Тебе что-то лохое возвращает функция ExtractFileDir... Может быть такой диры нет вообще... А насколько я помню - этот компонент в исходниках есть - попробуй посмотреть, что там делается... возможны проблемы изза аттрибутов директории или имя архива задаёшь неправильно!


← →
Def   (2003-08-07 08:43) [5]

Скорее всего ExtractFileDir работает нормально, потому, что я эту конструкцию использую неоднократно и все отрабатывает нормально.

DeleteFile(ExtractFileDir(Application.ExeName)+"\XLS\Tovar_1.zip");

А компонент нужно наверное переписать, добавив туда код возврата, нормальный код возвращающий идентификатор ошибки. Жаль только времени на это нет. Вот я и интересовался, где бы раздобыть какойнить другой компонент.

С другой стороны напомнили мн вчера вечером, что старенькие машинки (например 200ММХ, которая и стоит у клиентов) проверяли как раз архиваторами. А мне припомнилось еще, что на той машинке ни Rar ни Zip не установлены. Вот сегодня и схожу с дистрибутом Zip-а и проверю как он работает.


← →
HolACost?   (2003-08-07 10:12) [6]

Кстати возможен и этот вариант!


← →
dD@N   (2003-08-07 10:20) [7]

Def на www.torry.net дофига компонентов такого рода но лучше используй zlib


← →
Def   (2003-08-07 15:08) [8]

Всетаки пришлось подправить TMiniZip. Теперь при распаковке архива функция возвращает не True или False, а строковое значение ошибки.
...
Var
errExtr : ShortString;
Begin
...
errExtr:=Self.MiniZip1.UnzipAllTo(ExtractFileDir (Application.ExeName)+"\XLS\");
( errExtr="UNZ_OK") Всетаки пришлось подправить TMiniZip. Теперь при распаковке архива функция возвращает не True или False, а строковое значение ошибки.
...
Var
errExtr : ShortString;
Begin
...
errExtr:=Self.MiniZip1.UnzipAllTo(ExtractFileDir (Application.ExeName)+"\XLS\");
if not (errExtr="UNZ_OK") then Begin
{Обрабатываем ошибку}
End;
End;

По крайней мере, теперь можно увидеть причину глюка.
Хотя стоит отметить, что на глючно машине я еще не проверял.


← →
Def   (2003-08-11 17:24) [9]

Как оказалось, компонент работал нормально, даже очень нормально. После доработки компонента выяснилось, что кривой ZIP который я качаю по POP3.
Может ктонить сталкивался с такой ситуацией, когда скачивается кривое файло .... Точнее сказать с одного ящика получаю нормальный архив, со второго кривой (WinZip не открывает).
Пытался получить при помощи OutLooka - все нормально ....



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
14-92249
Омлет
2003-08-09 00:30
2003.08.28
Palladin, с днём рождения!


3-91995
xBocT
2003-08-06 09:51
2003.08.28
Флажок в таблице


3-92008
kengura
2003-08-05 13:08
2003.08.28
Ошибка при обращении к пустому полю в ADOTable


3-92033
zzzrrv
2003-08-04 15:41
2003.08.28
Индекс для DBF-файла


14-92184
BJValentine
2003-08-11 12:14
2003.08.28
w2k @ winXP




   Наверх