我的程序从服务器某个目录下获取文件名列表,使用下面的代码:
if FIdFTP.Connected then
       begin
         try
           begin
             FIdFTP.ChangeDir('/cdr/wapcdrs');  
             FIdFTP.List(FIdString,'*GW*.dat',True);//取包含GW字符的文件名
           end;
         except
           on E:Exception do
             begin
               FLog.LogToFile(E.Message);
               FIdFTP.Quit;
               MessageDlg('获取文件列表时出错',mtError,[mbOK],0);
               Exit;
             end;
         end;
         FFilesList.Clear;
         for I := 0 to FIdString.Count - 1 do
           begin
              FFilesList.Add(GetNameFromDirLine(FIdString[I]));
           end;
       end;运行后List似乎没有得到任何文件名,怎么回事啊?
服务器操作系统是Solaris8,机器应该是SunFire的吧,这个目录下面的文件大概有30W个左右,是不是因为数量太多的缘故?

解决方案 »

  1.   

    怎么没有人啊?我现在已经可以下载文件了,但是一个头痛的问题是老是报:Socket Error #10054 connection reset by peer.有人告诉我是怎么回事吗?passive属性已经设置为True了;
      

  2.   

    可能是操作超时~
    用最新的Indy,并且自己Debug到Indy自己的源码,很多问题,都不再是问题
      

  3.   

    我的是indy10,还有最新的吗?
    我对这个不是很熟悉,怎么Debug到Indy源码啊?要改哪里?