用delphi写的ftp服务端,用资源管理器连上后,其他功能都正常了,在里面新建一个文件夹可以,一重命名就卡住,好像在等待什么,但是服务端已经重命名了,别的文件也是这样。
客户端就一直不动,不能上传,下载,进程显示未响应,但是服务那边已经重命名了 
最后弹出  
 文件夹错误
 重命名FTP服务器上的文件或文件夹时发生错误。请检查是否有权限进行此项修改。
 详细信息:
 the operation timed out服务端的权限设置和重命名的代码如下:procedure TForm1.IdFTPServer1ListDirectory(ASender: TIdFTPServerThread;
  const APath: String; ADirectoryListing: TIdFTPListItems);
procedure
  AddlistItem( aDirectoryListing: TIdFTPListItems; Filename: string; ItemType: TIdDirItemType; size: int64;date: tdatetime ) ;
var
    listitem: TIdFTPListItem;
  begin
    listitem := aDirectoryListing.Add;
    listitem.ItemType := ItemType;
    listitem.FileName := AnsiToUtf8(Filename);
    listitem.OwnerName := 'anonymous';
    listitem.GroupName := 'all';
    listitem.OwnerPermissions := '---';   //权限
    listitem.GroupPermissions := '---';
    listitem.UserPermissions := '---';
    listitem.Size := size;
    listitem.ModifiedDate := date;
  end;
var
f: tsearchrec;
a: integer;
begin
  ADirectoryListing.DirectoryName := AnsiToUtf8(APath);
  a := FindFirst( TransLatePath( APath, ASender.HomeDir ) + '*.*', faAnyFile, f ) ;
while ( a = 0 ) do
  begin
    if ( f.Attr and faDirectory > 0 ) then
    AddlistItem( ADirectoryListing, f.Name, ditDirectory, f.size, FileDateToDateTime( f.Time ) )
    else
    AddlistItem( ADirectoryListing, f.Name, ditFile, f.size, FileDateToDateTime( f.Time ) ) ;
    a := FindNext( f ) ;
  end;
  FindClose( f ) ;
end;
/////////////////////////////////////////////
procedure TForm1.IdFTPServer1RenameFile(ASender: TIdFTPServerThread;
  const ARenameFromFile, ARenameToFile: String);
begin
  if not MoveFileEx( pchar(TransLatePath(ARenameFromFile,ASender.HomeDir)),
  pchar(TransLatePath(ARenameToFile,ASender.HomeDir)),MOVEFILE_REPLACE_EXISTING ) then
  //RaiseLastWin32Error;
end;请高手指点。