Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.26;
Скачать: CL | DM;

Вниз

ZipForge   Найти похожие ветки 

 
LD   (2010-09-15 17:27) [0]

В готовой программе в редких случаях вылазит ошибка, явно связанная с ZipForge. За неимением исходного текста не могу исправить. Где-нибудь мжно найти их.


 
Rouse_ ©   (2010-09-15 17:59) [1]


> В готовой программе в редких случаях вылазит ошибка

Какая?


> явно связанная с ZipForge

ошибка в программе возникает только из-за ошибки в программе, а не в ZipForge.


> Где-нибудь мжно найти их.

Кого их?


 
Джо ©   (2010-09-15 18:07) [2]


> Rouse_ ©   (15.09.10 17:59) [1]
> Кого их?

Ошибки в программе? :D


 
LD   (2010-09-15 18:48) [3]


> Какая?


Out of memory


> ошибка в программе возникает только из-за ошибки в программе,
>  а не в ZipForge.



 zf := TZIPForge.Create(nil);
 try
   // ...
   fs := TFileStream.Create(Ftmp_file_path + Ftmp_file_name, fmOpenRead or
     fmShareDenyNone);
   try
     // ...
     zf.OpenArchive(fs, False);
     try
       // ...
       zf.AddFromStream(tmp_file_name, fs); // <- EurekaLog говорит, что ошибка в этой строчке
       // ...
     finally
       zf.CloseArchive;
     end;
   finally
     fs.Free;
   end;
 finally
   zf.Free;
 end;



> Кого их?


хотя бы исходник модуля с этим методом


 
Anatoly Podgoretsky ©   (2010-09-15 18:55) [4]

> LD  (15.09.2010 18:48:03)  [3]

Сейчас включим телепатор и будем гадать по поводу переменных.


 
Кто б сомневался ©   (2010-09-15 20:42) [5]


> ошибка в программе возникает только из-за ошибки в программе,
>  а не в ZipForge.


Ой, вот эт ты ошибаешся. Я разбирал сырцы zipforge - те кто его писал руки поломал бы. сам код очень грязный. Код можно найти на китайских сайтах.
В конце концов использовал zlib напрямую через экспорт - плагин стал летать.


 
Кто б сомневался ©   (2010-09-15 20:44) [6]

Я уже здесь рассказывал как реализован там метод CopyToBuf или как то так.
Открывается файл, распаковывается весь архив (весь файл) - и после уже после многочесленных копирований в памяти, копируется кусочек в указанный буфер.


 
Кто б сомневался ©   (2010-09-15 20:46) [7]

http://delphimaster.net/view/15-1278865350/


 
Кто б сомневался ©   (2010-09-15 20:56) [8]

Если нужно юзать zip юзайте zlib (zipforge тоже его юзает) - там сложного ничего нет. День поразбираетесь, зато все летать будет с космической скоростью, по сравнению с компонентами от криворуких разработчиков.
тем более в ссылке выше я вкратце рассказал как распаковать zip.


 
Rouse_ ©   (2010-09-15 21:48) [9]


> Кто б сомневался ©   (15.09.10 20:56) [8]
>
> Если нужно юзать zip юзайте zlib

Я бы переиначил -  Если нужно юзать zip юзайте KAZip, не разочаруетесь, единственно он у распакованных файлов время модификации не выставляет, но там 1 строчка всего-то допилить.



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

Текущий архив: 2010.12.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1284541924
KSergey
2010-09-15 13:12
2010.12.26
RDP через WEB


2-1285840973
Рома
2010-09-30 14:02
2010.12.26
idhttp


15-1284390803
Eraser
2010-09-13 19:13
2010.12.26
Book reader - какой лучше?


15-1284627890
angel495
2010-09-16 13:04
2010.12.26
datetime как сложить?


15-1284723086
И. Павел
2010-09-17 15:31
2010.12.26
Как преобразовать строку "123" в "1,2,3" в MS SQL 2005