本人首次用 INDY 来做个FTP客户端, 测试FTP服务器为 SER_U 6.0,
参考了网上在多数代码,也用了INDY自带的DEMO,在连接服务器后,想列出目录时,用LIST,就没反应,
但是用INDY IDFTPSEVER 的DEMO服务器就可以,请帮帮小弟.
下面是部分代码
//连接 没问题
 if not idFTP.Connected then
  begin
   idFTP.Connect();
   L.Caption := idFTP.RetrieveCurrentDir; //能显示当前用户目录
  end;//列目录 没反应var
 ls :TStringList;
begin
 if not idFTP.Connected then
   exit;LS := TStringList.Create;tryidFTP.ChangeDir(L.Caption); //PASS
IdFTP.TransferType := ftASCII;
DirectoryListBox.Items.Clear;L.Caption := idFTP.RetrieveCurrentDir;//PASSIdFTP.List(ls);// 这里出问题,一运行就没反应,不是服务器目录或文件过多,我在单目录单文件也不行
//list(ls,'*',TRUE/FALSE) 全试过,不行
//idftp.Status(ls,); //这个也不行//DirectoryListBox.Items.Assign(idFTP.DirectoryListing.Items);if DirectoryListBox.Items.Count > 0 thenif AnsiPos('total', DirectoryListBox.Items[0]) > 0 then DirectoryListBox.Items.Delete(0);finallyLS.Free; end;

解决方案 »

  1.   

    配置  FTP 服务器 选 UNIX 风格。
    就没有问题了。
      

  2.   

    哦,见笑了,没找着在哪配,只有一个 SYST命令回复: UNIX Type: L8
      

  3.   

    用delphi自带的indy,不要从别处donw来的
      

  4.   

    没有遇到过
    弄的少了Indy9的TIdFTP很稳定!推荐!
      

  5.   

    回复人: yeeyee(易一@科技 Yeeyee@S&T) 
    配置  FTP 服务器 选 UNIX 风格。
    就没有问题了。在 windows  操作系统上,
    管理--》IIS-->FTP-->后面 应该有个 风格
    风格
       DOS
       UNIX
    选 UNIX 就没有问题,我以前是这样解决的。
      

  6.   

    windows系统用IIS就可以,用 Serv_U 就这样(用D6自带的INDY测试)