delphi使用idftp创建文件夹失败时跳出
project ftp.exe raised exception class eidprotocolreplayerror with message '550/a1201 :failed to create.'. 
再次创建时 还是跳错 只有关闭后再次运行 才能创建成功 
那位高手能帮我解决这个问题 
就 AIdFtp.MakeDir(StrNowDir);

解决方案 »

  1.   

    procedure ftpconnect(serverip:string;user:string;pass:string;xidftp:Tidftp); //ftp 服务器连接
    begin
      //建立FTP连接
     
      if XIdFTP.Connected then
      begin
        XIdFTP.Abort;
        XIdFTP.Disconnect ;
      end;
       XIdFTP.Disconnect;
      with XIdFTP do
      begin
        Username :=user;         
        Password := pass;
        Host := serverip;
        Connect;
        ftpfs:='ftp';
      end;
      try
       XIdFTP.MakeDir(Gml) ;
        except   
        end;
       try
       xidftp.ChangeDir(Gml);
       XIdFTP.MakeDir(orderid) ;
        except   
        end;
        xidftp.ChangeDir(orderid);
        xidftp.TransferType := ftASCII; end;
    这个应该对你有所帮助
      

  2.   


    procedure TMainForm.ConnectButtonClick(Sender: TObject);
    begin
      ConnectButton.Enabled := false;
      if IdFTP1.Connected then try
        if TransferrignData then IdFTP1.Abort;
        IdFTP1.Quit;
      finally
        CurrentDirEdit.Text := '/';
        DirectoryListBox.Items.Clear;
        SetFunctionButtons(false);
        ConnectButton.Caption := 'Connect';
        ConnectButton.Enabled := true;
        ConnectButton.Default := true;
      end
      else with IdFTP1 do try
        Username := UserIDEdit.Text;
        Password := PasswordEdit.Text;
        Host := FtpServerEdit.Text;
        Connect;
        Self.ChageDir(CurrentDirEdit.Text);
        SetFunctionButtons(true);
        SaveFTPHostInfo(FtpServerEdit.Text, 'FTPHOST');
      finally
        ConnectButton.Enabled := true;
        if Connected then begin
          ConnectButton.Caption := 'Disconnect';
          ConnectButton.Default := false;
        end;
      end;
    end;procedure TMainForm.ChDirButtonClick(Sender: TObject);
    begin
      SetFunctionButtons(false);
      ChageDir(CurrentDirEdit.Text);
      SetFunctionButtons(true);
    end;procedure TMainForm.CreateDirButtonClick(Sender: TObject);
    Var
      S: String;
    begin
      S := InputBox('Make new directory', 'Name', '');
      if S <> '' then
        try
          SetFunctionButtons(false);
          IdFTP1.MakeDir(S);
          ChageDir(CurrentDirEdit.Text);
        finally
          SetFunctionButtons(true);
        end;
    end;
      

  3.   

    procedure ftpconnect(serverip:string;user:string;pass:string;xidftp:Tidftp); //ftp 服务器连接
    begin
      //建立FTP连接
     
      if XIdFTP.Connected then
      begin
        XIdFTP.Abort;
        XIdFTP.Disconnect ;
      end;
       XIdFTP.Disconnect;
      with XIdFTP do
      begin
        Username :=user;         
        Password := pass;
        Host := serverip;
        Connect;
        ftpfs:='ftp';
      end;
      try
       XIdFTP.MakeDir(Gml) ;
        except   
        end;
       try
       xidftp.ChangeDir(Gml);
       XIdFTP.MakeDir(orderid) ;
        except   
        end;
        xidftp.ChangeDir(orderid);
        xidftp.TransferType := ftASCII;  //05121000end;
      

  4.   

    可能是ftp服务器上的文件夹已经存在了吧 
    可以试试
     try
       AIdFtp.ChangeDir(StrNowDir);
      except
        AIdFtp.MakeDir(StrNowDir);
      end;