Einzelnen Beitrag anzeigen

DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

Teilweise Probleme beim Dateidownload

  Alt 18. Jul 2004, 18:15
Ich hab ein FTP-Client programmiert. Dieser funktioniert soweit. Leider hab ich paar Probleme mit einpaar
Servern. Bei manchen Servern kann ich nur ein paar Dateien downloaden.
Obwohl die Dateien vorhanden sind und ich diese mit SmartFTP z.B. downloaden kann, streikt mein indyclient
mit folgender Meldung:

Project FTPClient.exe raised exception class EIdProtocolReplyError with message 'Test.r05: The system cannot find the file specified.'. Process stopped. Use Step or Run to continue.

Dann werde ich immer auf diese Zeile

IdFTP1.Get(Name, SaveDialog1.FileName, false);

aufmerksam gemacht. Was kann hier der Fehler sein?
Hier der komplette Code für den Downloadprozess:

Delphi-Quellcode:
procedure TMainForm.DirectoryListBoxDblClick(Sender: TObject);
Var
  Name, Line : String;
begin
  if not IdFTP1.Connected then exit;
  Line := DirectoryListBox.Items[DirectoryListBox.ItemIndex];
  Name := IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].FileName;
  if IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].ItemType = ditDirectory then begin
    //Change directory
    SetFunctionButtons(false);
    ChageDir(Name);
    SetFunctionButtons(true);
  end
  else begin
    try
      SaveDialog1.FileName := Name;
      if SaveDialog1.Execute then begin
        SetFunctionButtons(false);

        IdFTP1.TransferType := ftBinary;
        BytesToTransfer := IdFTP1.Size(Name);

        if FileExists(Name) then begin
          case MessageDlg('Datei existiert bereits. Willst Du mit dem Download weitermachen?',
            mtConfirmation, mbYesNoCancel, 0) of
            mrYes: begin
              BytesToTransfer := BytesToTransfer - FileSizeByName(Name);

            IdFTP1.Get(Name, SaveDialog1.FileName, false, true);
            end;
            mrNo: begin
              IdFTP1.Get(Name, SaveDialog1.FileName, true);
            end;
            mrCancel: begin
              exit;
            end;
          end;
        end
        else begin
        IdFTP1.Get(Name, SaveDialog1.FileName, false);
          end;
      end;
    finally
      SetFunctionButtons(true);
    end;
  end;
end;
CU

DRPEnc
  Mit Zitat antworten Zitat