Hola,
Por favor, embebe el código Delphi dentro de las etiquetas correspondientes. El no hacerlo ha provocado que yo te plantee algo que no tiene nada que ver con la pregunta que has formulado: ¿Porqué no utilizas unos componentes como los
TurboPower Abbrevia (1) para comprimir los archivos que te sean menester?
Hay más componentes para realizar esa misma tarea, empero, te digo que pruebas los susomentados porque a mí me van de miedo, lógicamente, y porque en unas cuantas líneas de código tienes tu problema resulto de una forma mucho más elegante que usando un programa "de terceros", como haces o quieres hacer ahora.
1. Estos componentes son gratuitos y de "código abierto".
Actualización: Abajo puede verse cómo comprimir en un archivo Zip los archivos de una determinada carpeta, haciendo uso de uno de los componentes incluidos en el paquete
TurboPower Abbrevia:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
zip: TAbZipKit; begin
zip := TAbZipKit.Create(Self);
zip.FileName := 'C:\archivo.zip';
zip.AddFiles('C:\archivos\*.*', faAnyFile);
zip.Save;
zip.Free;
end;
Evidentemente el componente "TAbZipKit" da mucho más de sí, siendo posible fijar determinadas opciones que en el ejemplo de más arriba, sin embargo, no se ha visto necesario emplear.