2009-3-23 11:31
toysun
CnFileSystemWatcher问题
1.4和1.5版本的CnFileSystemWatcher.pas
默认启动监视后,无法修改c:\目录文件名,以下为提示信息
---------------------------
重命名文件或文件夹时出错
---------------------------
无法重命名 ***(文件名) : 文件正在被另一个人或程序使用。
关闭任何可能使用这个文件的程序,重新试一次。
---------------------------
确定
---------------------------
相关代码
procedure TForm1.CnFileSystemWatcher1Change(FileOperation: TFileOperation;
const FileName1, FileName2: String);
begin
caption:=filename1;
end;
[[i] 本帖最后由 toysun 于 2009-3-23 11:39 编辑 [/i]]
2009-3-23 17:09
Passion
感谢报告,此问题能复现。问题出自286行附近的Share Mode参数上,应该改成:
TempHandle := CreateFile(PChar(FDirectory), GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE,
nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS
or FILE_FLAG_OVERLAPPED, 0);
我们的修改今晚将提交CVS。