代码是这样的:
function DeleteDirectory(mSource: string;var IdFTP2:TIdFTP): Boolean;  //在上传文件夹替换时用来级联删除FTP服务
                                                                       //器上同名的文件夹的函数
var i:integer;                                               
begin
//showMessage(IdFTP1.DirectoryListing.Items[i].FileName);
for i:=0 to IdFTP2.DirectoryListing.Count-1 do
  begin
    if IdFTP2.DirectoryListing.Items[i].ItemType=ditDirectory then
      begin
        IdFTP2.ChangeDir(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName);
        DeleteDirectory(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName;IdFTP2);
        IdFTP2.ChangeDir(mSource);
        IdFTP2.RemoveDir(IdFTP2.DirectoryListing.Items[i].DisplayName);
      end;
    IdFTP2.Delete(IdFTP2.DirectoryListing.Items[i].FileName);
    DeleteDirectory:=true;
  end;
end;
提示在递归调用处"not enough actual parameters"
哪位大虾帮帮忙!

解决方案 »

  1.   

    DeleteDirectory(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName;IdFTP2);
    分号改逗号
    DeleteDirectory(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName,IdFTP2);
      

  2.   


    function DeleteDirectory(mSource: string;var IdFTP2:TIdFTP): Boolean; //在上传文件夹替换时用来级联删除FTP服务
      //器上同名的文件夹的函数
    var i:integer;   
    begin
    //showMessage(IdFTP1.DirectoryListing.Items[i].FileName);
    for i:=0 to IdFTP2.DirectoryListing.Count-1 do
      begin
      if IdFTP2.DirectoryListing.Items[i].ItemType=ditDirectory then
      begin
      IdFTP2.ChangeDir(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName);
      //DeleteDirectory(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName;IdFTP2);
      DeleteDirectory(mSource+'\'+IdFTP2.DirectoryListing.Items[i].DisplayName,IdFTP2);
      IdFTP2.ChangeDir(mSource);
      IdFTP2.RemoveDir(IdFTP2.DirectoryListing.Items[i].DisplayName);
      end;
      IdFTP2.Delete(IdFTP2.DirectoryListing.Items[i].FileName);
      DeleteDirectory:=true;
      end;
    end;
      

  3.   

    奇怪了,我的也报错误
    [错误] UEmailFrm_Edit_Del.pas(351): Not enough actual parameters
    [错误] UEmailFrm_Edit_Del.pas(351): Missing operator or semicolon
    [错误] UEmailFrm_Edit_Del.pas(352): Not enough actual parameters
    [错误] UEmailFrm_Edit_Del.pas(352): Missing operator or semicolon
    [错误] UEmailFrm_Edit_Del.pas(353): Not enough actual parameters
    [错误] UEmailFrm_Edit_Del.pas(353): Missing operator or semicolon
    [致命错误] QXGLForm.pas(79): Could not compile used