之前使用listbox的dirlist做了遍历某个非空目录下的文件删除所有文件的功能。后来在另外一个使用dirlist列出某目录下的子目录时,发现在dirlist中使用相对路径会出现问题:整个软件的相对路径是同一个池,修改某一个listbox的dirlist会影响到其他listbox。
例如目录结构为
data/
......./data1
......./data2
.......
w_main下有两个listbox,listbox_1.dirlist("/data/data1/*.*",0),则listbox_2.dirlist("/data/data2/*.*",0)会出错,
因为路径已经ls到了/data/data1/下,实际listbox_2的dirlist变成了(""/data/data1/data/data2/*.*",0)
测试了.reset()和dirlist("",0),并不能将相对路径重置。
解决办法是全部使用绝对路径,在Application启动时getdir,再在之后使用相对路径的地方进行补全。