都是‘/’惹的祸

来源:互联网 发布:淘宝怎么激活蚂蚁花呗 编辑:程序博客网 时间:2024/04/23 23:59

昨天ninja911给我留言说用我去年上传的ARF解包器提取《疯狂牧场》的资源出现软件卡死、CPU占用100%的现象。
今天查了一下,发现是/捣的鬼。因为向TreeView添加节点的时候我只根据/分析目录结构,所以在解《疯狂牧场》这个使用/分割相对路径的ARF文件时就出错了。
解决的办法很简单,把文件路径中的/都转化成/就可以了。

 

此外,这次还发现了Delphi中ForceDirectories函数的一个bug.
假设'D:/test/arf'是预先创建好的目录,此目录下无任何文件或文件夹。
执行ForceDirectories('D:/test/arf/Cutscenes/Common');成功
执行ForceDirectories('D:/test/arf/TrophyRoom');成功
执行ForceDirectories('D:/test/arf/Game/Characters');失败
执行ForceDirectories('D:/test/arf/Config/Curves/Cutscene01');失败
基本可以确定同样是没有处理/造成了。

 

修改过的ARF解包器可以从我网盘的杂货铺中下载。

原创粉丝点击