把一个窗口加入dll中,在程序最后关闭时,用RmDir('文件路径+文件名')删除文件,报告错误。
把一个窗口加入dll中,在程序最后关闭时,用RmDir('文件路径+文件名')删除文件,报告错误‘EinOutError with message I|O 145’,这是怎么回事呢? 问题点数:100、回复次数:11Top
1 楼Bluce4587(老狼)回复于 2005-08-03 18:17:48 得分 10
如果你删除的是 DLL ,要先FreeLibrary释放掉它!
如果是其它的文件,要看文件是否已经被程序打开,先关闭,后释放,再删除!
最后,注意 DLL 工程是否将 ShareMem 做为第一个被引用文件!Top
2 楼plhui(天外飞仙)回复于 2005-08-04 10:21:36 得分 0
我不是删除的dll,我是删除的一个文件夹下面的文本文件。但是在程序里用到了这些文本文件,用完了想删除。删除文件的语句也是在dll内。Top
3 楼atsoftworld(网络王国的拾荒者和软件王国的盗墓者一名)回复于 2005-08-04 10:43:07 得分 10
FILE CLOSE THE TXT FILE BEFORE DELETE EVENTTop
4 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2005-08-04 11:43:52 得分 10
把要删除的文件全关闭,然后用deletefile()删除;Top
5 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2005-08-04 11:49:05 得分 40
RmDir removes the subdirectory with the path specified by S or P. If the path does not exist, is non-empty, or is the currently logged directory, an I/O error occurs.
//rmdir 删除指定的子目录,如果指定的目录不存在,不为空,或是当前的目录,会有一个I/O错误发生;Top
6 楼plhui(天外飞仙)回复于 2005-08-08 09:50:55 得分 0
正如各位所说的这个目录中有文件。但是我用DeleteFile(strSrcDir+sr.Name);为什么无法把文件删除。删除文件那句如下:
if sr.Attr<>faDirectory then
begin
DeleteFile(strSrcDir+sr.Name);
end;Top
7 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2005-08-08 10:04:19 得分 10
可能有些文件还在打开状态,
你也可设计成,每次运行程序,先删除上次遗留的文件Top
8 楼lianshaohua(永远深爱一个叫“...”的好女孩儿!)回复于 2005-08-08 14:49:09 得分 0
DeleteFile(strSrcDir+'\'+sr.Name);试试看;Top
9 楼hqhhh(枫叶)回复于 2005-08-08 15:40:09 得分 0
Another reproducible compiler crash (access violation)Top
10 楼hqhhh(枫叶)回复于 2005-08-08 15:41:20 得分 10
错误类型:Another reproducible compiler crash (access violation)Top
11 楼hqhhh(枫叶)回复于 2005-08-08 15:43:48 得分 10
查一下,文件是否还存在!Top




