Hi, I tried out the code you suggested. I took a file that takes 30 secs to compress. Made 8 copies of it and after 2 mins I change NeedToStop:=True; But the ZipMaster191SetAddName does not get triggered once compression starts. Regards Allan var NeedToStop: Boolean; FilesYetToBeDone: TStringList; .... procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled :=true; ZipMaster191.ZipFileName:='c:\Partial.zip'; ZipMaster191.FSpecArgs.Clear ; ZipMaster191.FSpecArgs.add('c:\Data\A1.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A2.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A3.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A4.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A5.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A6.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A7.gdb'); ZipMaster191.FSpecArgs.add('c:\Data\A8.gdb'); ZipMaster191.add; end; procedure TForm1.Timer1Timer(Sender: TObject); begin // After 2 mins ie: during compression of A4.gdb I need to pack up the Zip containing A1,A2,A3,A4 only Timer1.Enabled :=false; NeedTostop:=true; end; procedure TForm1.ZipMaster191SetAddName(Sender: TObject; var FileName: string;const ExtName: string; var IsChanged: Boolean); begin if NeedTostop then begin FilesYetToBeDone.Add(ExtName); FileName := ''; // tell it not to use any any name (won't save it at all) IsChanged := True; end; end; procedure TForm1.FormCreate(Sender: TObject); begin FilesYetToBeDone:= TStringList.Create ; end; ----------- To unsubscribe from this list, send an empty e-mail message to: delphizip-request@xxxxxxxxxxxxx and put the word unsubscribe in the subject.