首页
社区
课程
招聘
[求助]API删除文件夹的BUG!!
发表于: 2008-4-8 21:35 8677

[求助]API删除文件夹的BUG!!

2008-4-8 21:35
8677
我删除文件夹用的API的函数为: (即使该文件夹下面还有子文件夹或者文件都一样删除)
function DeleteDirectory(dir: string): boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := pchar(dir + #0);
  end;
  Result := (0 = SHFileOperation(fos));
end;

执行该函数后,程序的内存会马上上升1000K左右,经过单步跟踪,是SHFileOperation函数造成内存上升,请问为什么有这样的原因?希望高手给个解决的办法。
小弟感谢了。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
有朋友可以帮帮吗?
请问这个是怎么回事呢?
2008-4-10 19:05
0
雪    币: 1205
活跃值: (5094)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
pchar(dir + #0);  ??
2008-4-10 21:51
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
4
这个API就是删除文件夹及其子目录的。。。

否则用这个
BOOL WINAPI RemoveDirectory(
  __in          LPCTSTR lpPathName
);
2008-4-11 09:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我知道是删除文件夹和子目录的。但是运行后程序的内存会马上上升1000K左右。希望解决这个BUG。。。
2008-4-11 10:28
0
雪    币: 142
活跃值: (121)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
我用过这个函数没遇到过楼主这样的情况
2008-4-14 20:43
0
游客
登录 | 注册 方可回帖
返回
//