Třeba toto ? (jen jsem to našel - zkušenosti nemám)
Máte tip na nějakou úplně jinou komponentu pro komprimaci, která zvládne i veliké soubory?
Ten subor sa komprimuje v pamati a potom zapisuje na disk?
Moze ist o 2 GB (3GB) memory limit pre 32bit proces: https://superuser.com/questions/1163749/why-do-32-bit-processes-have-a-2-gb-ram-limit (https://superuser.com/questions/1163749/why-do-32-bit-processes-have-a-2-gb-ram-limit)
Alebo ak ide o kniznicu vyuzivajucu C/C++ metody tak moze ist o limit pre fseek a ftell: https://stackoverflow.com/questions/4003405/32-bit-windows-and-the-2gb-file-size-limit-c-with-fseek-and-ftell (https://stackoverflow.com/questions/4003405/32-bit-windows-and-the-2gb-file-size-limit-c-with-fseek-and-ftell)
Ten subor sa komprimuje v pamati a potom zapisuje na disk?
Moze ist o 2 GB (3GB) memory limit pre 32bit proces: https://superuser.com/questions/1163749/why-do-32-bit-processes-have-a-2-gb-ram-limit (https://superuser.com/questions/1163749/why-do-32-bit-processes-have-a-2-gb-ram-limit)
Alebo ak ide o kniznicu vyuzivajucu C/C++ metody tak moze ist o limit pre fseek a ftell: https://stackoverflow.com/questions/4003405/32-bit-windows-and-the-2gb-file-size-limit-c-with-fseek-and-ftell (https://stackoverflow.com/questions/4003405/32-bit-windows-and-the-2gb-file-size-limit-c-with-fseek-and-ftell)
Bavime sa o tomto komponente https://github.com/TurboPack/Abbrevia/ (https://github.com/TurboPack/Abbrevia/) ?Ano, jde o tuto komponentu. Jen jsem ji měl ještě mnohem dřív, než se dostala na GitHub. Používal jsem ji už před mnoha lety v Delphi 7, a když jsme přešli na DXE6, našel jsem verzi 5.36, která v této verzi fungovala. A zase 4 roky spokojenost. Do velikosti cca 2GB funguje všechno OK i teď, chyba vyskočí při velikosti 3GB a více. Takto veliké soubory se nám objevili až v poslední době, tak to chci vyřešit. Zřejmě narážím na nějaký limit v 32bit programu.
Skusal si pozriet Issues? Presne je to tam spomenute: https://github.com/TurboPack/Abbrevia/issues/6 (https://github.com/TurboPack/Abbrevia/issues/6)
Testoval jsem a z výsledků jsem rozpačitý. Abych byl více v současnosti, použil jsem Delphi 10.2 Tokyo, 64bit architekturu. Udělal jsem si nejjednodušší testovací procedury, jednou s TZipFile, podruhé s TAbMakeCab, ten jsem stáhnul dnes z GitHub.
ZIP soubor má všude možně limity na 4 GB, protože všechna čísla v něm jsou 32bitová. Týká se to celkové velikosti archívu (tzn. po kompresi), ale i nekomprimovaných velikostí každého jednotlivého souboru. Detaily např. zde: https://en.wikipedia.org/wiki/Zip_(file_format)
Ale to přece vůbec není o tom, jestli knihovna je nebo není 64bitová! Jde o to, že formát souboru má pouze 32bitová čísla. S tím by přepsání knihovny nijak nehnulo, i kdybys to napsal "128bitově", tak ten formát pořád bude limitovat velikost. Pokud se s tím má něco stát, je nutné změnit formát, tzn. příjít s variantou ZIPu, která bude mít 64bitové číselné údaje. Ale to je samozřejmě absolutně nereálné - sice to teoreticky jde udělat (a nezáleží přitom na bitovosti knihovny), ale nikdo z nás nedokáže takhle upravený formát prosadit. Prostě ZIP je široce rozšířený standard a s tím se nedá hnout (stačí se podívat např. na mnohaleté snahy o nahrazení JPEG lepšími formáty).
Ale to přece vůbec není o tom, jestli knihovna je nebo není 64bitová! Jde o to, že formát souboru má pouze 32bitová čísla. S tím by přepsání knihovny nijak nehnulo, i kdybys to napsal "128bitově", tak ten formát pořád bude limitovat velikost. Pokud se s tím má něco stát, je nutné změnit formát, tzn. příjít s variantou ZIPu, která bude mít 64bitové číselné údaje. Ale to je samozřejmě absolutně nereálné - sice to teoreticky jde udělat (a nezáleží přitom na bitovosti knihovny), ale nikdo z nás nedokáže takhle upravený formát prosadit. Prostě ZIP je široce rozšířený standard a s tím se nedá hnout (stačí se podívat např. na mnohaleté snahy o nahrazení JPEG lepšími formáty).
Ale formát Zip64 existujeTo samozřejmě existuje, ale nikdo ho nepoužívá. Některé nástroje mají zabudovanou podporu, což je fajn, ale chceš skutečně řešit, že si uživatel bude stěžovat, že mu ten ZIP nejde přečíst? Podle mě to je slepá větev, stejně jako všechny ty náhrady JPEGu nebo MP3...
přesto bych použil ten 7z, pro Delphi udělal wrapper Henri Gourvest, ale jeho stránka neexistuje, přesto se to povaluje všude - https://github.com/zedalaye/d7zip/blob/master/sevenzip.pas (https://github.com/zedalaye/d7zip/blob/master/sevenzip.pas), ukázku jsem měl na delphi.cz (resp. pořád mám)Souhlasím, pracuje se s tím pěkně a je to spolehlivé a kompatibilní.