起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 150|回复: 2

【结贴】关于SHFileOperation删除文件夹不成功

[复制链接]
发表于 2009-9-23 12:52:20 | 显示全部楼层 |阅读模式
X3平台版本:2827

代码如下:

procedure MForm.Button4Click(Sender: TObject);
var
   SHFILEOPSTRUCTA : _SHFILEOPSTRUCTA;
   lPath : string;
begin
     lPath := edtDir.Text.Trim;
     if lPath = '' then
        exit;

     // 处理最后的 '\'
     if lPath.Substring(lPath.Length-1,1) <> '\' then
        lPath := lPath + '\';

     if not SysUtils.DirectoryExists(lPath+'test\') then
    begin
         if not Business.System.SysUtils.CreateDir(lPath+'test\') then
          begin
               Business.Forms.Dialogs.ShowMessage('创建目录失败,终止!');
               exit;
          end;
    end
    else
     begin
          SHFILEOPSTRUCTA.Wnd := 0;
          SHFILEOPSTRUCTA.wFunc := FO_DELETE;
          SHFILEOPSTRUCTA.pFrom := lPath+'test';
          //SHFILEOPSTRUCTA.pTo := lPath+'test';
          SHFILEOPSTRUCTA.fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR+FOF_NOERRORUI;
          SHFILEOPSTRUCTA.fAnyOperationsAborted := false;
          SHFILEOPSTRUCTA.hNameMappings := nil;
          SHFILEOPSTRUCTA.lpszProgressTitle := '正在删除文件夹...';
          if SHFileOperation(SHFILEOPSTRUCTA) = 0 then
          begin

               if not Business.System.SysUtils.CreateDir(lPath+'test\') then
               begin
                    Business.Forms.Dialogs.ShowMessage('创建目录失败,终止!');
                    exit;
               end;
          end
          else
          begin
               Business.Forms.Dialogs.ShowMessage('删除目录失败,终止!');
               exit;
          end;
     end;
end;

目录肯定存在,目录内无论是否有内容都删除不成功
回复

使用道具 举报

发表于 2009-9-23 13:48:40 | 显示全部楼层
请包装成控件导入到平台,或者用其他办法实现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-23 17:27:12 | 显示全部楼层
已通过导入方式解决,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-16 00:22 , Processed in 0.039889 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表