Hello Russell, Am doing another backup now without ongetnextdisk. In my ongetnextdisk routine was a disk erase proceedure. I also see that in my fspecsargs if the cleardisk option was checked that: AddOptions := AddOptions + [AddDiskSpanErase] So that when the next disk was to be processed it had a double erasure - once with zipmaster and second by my own erase procedure. Maybe this is the problem will advise. QUESTION: is there a way to PAUSE a backup in progress? Thanks, Al+ Sunday, December 1, 2002, 10:07:07 AM, you wrote: RP> If used on a secondary thread there are problems with the lines RP> "Application.ProcessMessages" (maybe other places too) RP> A quick 'fix' would be to add a test before it (except in callback) to make RP> them RP> if ForegroundTask then RP> Application.ProcessMessages; RP> not certain if this is your problem, but it hit me when I was looking RP> through the source looking for CheckForDisk and IsDiskPresent. RP> Russell Peters RP> http://www.users.bigpond.com/russellpeters/delphizip.html RP> ----- Original Message ----- RP> From: "Alistair George" <bigal@xxxxxxxxxx> RP> To: "Russell Peters" <delphizip@xxxxxxxxxxxxx> RP> Sent: Saturday, November 30, 2002 6:40 PM RP> Subject: [delphizip] Re: FSpecArgs.Add >> >> Hello Russell, >> I have been wrong many a time but suspect the following is interfering RP> with >> backup to CDRW: >> function TZipMaster.IsRightDisk(drt: Integer): Boolean; >> var >> Ext: string; >> begin >> Result := False; >> // For fixed disks the disk is always right, we only need to change >> // the filename. >> if (drt = DRIVE_FIXED) or (drt = DRIVE_REMOTE) then //or (drt = RP> DRIVE_CDROM) then >> RP> HERE......................................................^^^^^^^^^^^^^^^^^^ RP> ^^^ >> >> Also, am getting error overflow and wondered if it could be caused by the >> following (label FROM HERE): >> procedure TZipMaster.GetNewDisk(DiskSeq: Integer); >> var >> drt: Integer; >> begin >> drt := DRIVE_REMOVABLE; >> FileClose(FInFileHandle); // Close the file on the old disk RP> first. >> FDiskNr := DiskSeq; >> repeat >> if FInFileHandle = -1 then >> begin >> if (drt <> DRIVE_FIXED) and (drt <> DRIVE_REMOTE) then >> ShowZipMessage(DS_NoInFile, '') >> // This prevents and endless loop if for some reason RP> spanned parts >> // on harddisk are missing. >> else >> raise E_ZipMaster.CreateResDisp(DS_NoInFile, True); >> end; >> >> FROM HERE >> repeat >> FNewDisk := True; >> drt := CheckForDisk(false); // 1.70 changed >> until IsRightDisk(drt); >> TO HERE????? >> >> // Open the the input archive on this disk. >> FInFileHandle := FileOpen(FInFileName, fmShareDenyWrite or RP> fmOpenRead); >> until not (FInFileHandle = -1); >> end; >> >> Could the repeat loop be polling and causing an overflow? >> -- >> Regards, >> Alistair+ >> >> >> -- Regards, Alistair+