PDA

Ver la Versión Completa : Ayuda compresion.


Bluefox
11-10-2017, 11:51:25
Buenos días.
Estoy usando el componente de las Jedi para la compresión de unos ficheros y/o directorios. (7z)
También probé la librería incluida en el XE5, system.Zip. (zip)

El problema que me esta dando, es al comprimir un fichero que esta en uso, ya que da una excepción.
Sabéis si hay algun forma de incluirlo, en el fichero comprimido?

Gracias.

movorack
11-10-2017, 14:51:25
o puedes verificar si el archivo está en uso (https://stackoverflow.com/questions/141302/checking-file-is-open-in-delphi) para tomar acciones antes de realizar la copia.

Bluefox
11-10-2017, 15:14:52
Si eso lo puedo hacer, y entonces hacer una copia del fichero y añadir ese que no se usa... pero me parece que es bastante costoso.
Creo que existe algun parametro, al menos en 7z para añadir el fichero aunque este en uso.

movorack
11-10-2017, 15:44:53
Bueno, no se si la dll 7z de esa opción. Sería mejor indagar en el foro de ese producto (https://sourceforge.net/p/sevenzip/discussion/45797/)

Bluefox
24-10-2017, 14:47:17
Se me olvido comentar. Ya esta solucionado. Tocando un poco el modulo de las Jedi.
Gracias.

ecfisa
24-10-2017, 19:52:34
Se me olvido comentar. Ya esta solucionado. Tocando un poco el modulo de las Jedi.
Gracias.
¡ Buenísimo !, ahora sí entendí como resolverlo.

Saludos :)

Casimiro Notevi
24-10-2017, 20:23:48
Bien, bien, tocamos un módulo y se soluciona ;)

newtron
25-10-2017, 09:32:40
¡Estupendo! a mi me encanta tocar cosas. :D:D

Bluefox
29-11-2017, 13:25:33
Teneis toda la razon.
En la funcion ItemAccess del modulo JclCompression modificas esto.

function TJclCompressionArchive.ItemAccess: TJclStreamAccess;
begin
Result := saReadOnlyDenyNone;
end;

Asi ya comprime ficheros abiertos.
Sorry :