[delphizip] Re: FSpecArgs.Add

  • From: "Russell Peters" <russellpeters@xxxxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Sun, 1 Dec 2002 07:13:25 +1100

I will have to check (and try to think about it), but I think that there is
a gap in the logic for CDs - it depends on what kind and how used ie : if
single file per CD (like big floopy) or multiple files or CDRW.
Russell Peters
http://www.users.bigpond.com/russellpeters/delphizip.html
----- Original Message -----
From: "Alistair George" <bigal@xxxxxxxxxx>
To: "Russell Peters" <delphizip@xxxxxxxxxxxxx>
Sent: Saturday, November 30, 2002 6:40 PM
Subject: [delphizip] Re: FSpecArgs.Add


>
> Hello Russell,
> I have been wrong many a time but suspect the following is interfering
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 =
DRIVE_CDROM) then
>
HERE......................................................^^^^^^^^^^^^^^^^^^
^^^
>
> 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
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
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
fmOpenRead);
>     until not (FInFileHandle = -1);
> end;
>
> Could the repeat loop be polling and causing an overflow?
> --
> Regards,
>  Alistair+
>
>
>



Other related posts: