易码技术论坛

 找回密码
 加入易码
搜索
查看: 448255|回复: 13

[求助][关于LavaX的目录操作问题]

[复制链接]
发表于 2006-9-8 18:17:56 | 显示全部楼层
怎么?
lee也没看法?
发表于 2006-9-27 21:02:48 | 显示全部楼层
引用第1楼gameghost2006-09-08 18:17发表的“”:
怎么?
lee也没看法?
不解~
发表于 2006-9-27 21:49:00 | 显示全部楼层
如果你是在某中型号的wqx甚至只是某台wqx上发生问题,我现在无法确认,也无法处理。
如果在电脑端虚拟机可以复现,请拿出完整源代码,我可以帮你分析到底是虚拟机的问题还是你的代码写的有问题。
 楼主| 发表于 2006-9-28 11:04:32 | 显示全部楼层
以上就是完整的代码,而且是在LVM3.5上运行出现的问题.
就是假设在LavaXIde的Bin的文件夹里有个名为"123"的文件夹,而123里又有一个名为"asd"的文件夹,
上面的程序是用来连续删除asd和123的,然而使用了FindFile()以后删除了asd后123就无法删除了,
换了几种不同配置的电脑都是这样,我敢确定是LVM的问题!!!
 楼主| 发表于 2006-9-28 11:12:57 | 显示全部楼层
此问题同样出现在lavo中!
发表于 2006-9-28 11:16:42 | 显示全部楼层
好,我看看
发表于 2006-9-28 11:20:44 | 显示全部楼层
FindFile(1,1,0x3000);
???!!!
int FindFile(int from,int num,addr buf);
不要用直接地址!!!
 楼主| 发表于 2006-9-28 11:24:03 | 显示全部楼层
那是安全地址
直接使用变量也一样~~~~
void main(){
  char buf[180];
  ChDir("/123");
  FindFile(1,1,buf);
  ChDir("asd");
  ChDir("..");
  DeleteFile("/123/asd");
  ChDir("..");
  DeleteFile("/123");
}
发表于 2006-9-28 11:39:20 | 显示全部楼层
等下,俺再瞧瞧
发表于 2006-9-28 12:05:04 | 显示全部楼层
已找到出错原因。
需要修正版请发email给我,目前只提供Lavo的Lvm修正版
发表于 2006-9-28 13:29:04 | 显示全部楼层
楼主好强,这都发现了~
 楼主| 发表于 2006-9-28 21:15:48 | 显示全部楼层
引用第10楼leesoft2006-09-28 12:05发表的“”:
已找到出错原因。
需要修正版请发email给我,目前只提供Lavo的Lvm修正版
呵呵,我现在主要还是用LavaXIde.
发表于 2006-9-29 02:48:53 | 显示全部楼层
哦。知道了
 楼主| 发表于 2006-9-3 15:02:15 | 显示全部楼层 |阅读模式
  我在对目录删除的时候出现了一个很不解的问题:
假设跟目录有个"123"的目录,"123"中有个"asd"的目录,这样的程序可以先删除"asd"再删除"123":
void main(){
   ChDir("/123");
   ChDir("asd");
   ChDir("..");
   DeleteFile("/123/asd");
   ChDir("..");
   DeleteFile("/123");
}
但是如果程序改成这样:
void main(){
   ChDir("/123");
   FindFile(1,1,0x3000);
   ChDir("asd");
   ChDir("..");
   DeleteFile("/123/asd");
   ChDir("..");
   DeleteFile("/123");
}
删除了"asd"后就删除不了"123"了,很是奇怪!!!!
Lee来解释一下为什么吧.
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-8 15:47 , Processed in 0.010932 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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