使用OpenDialog选取文件名时,当文件列表很多,达到2000多时就会出现错误,错误提示:“找不到文件。请检查所给的文件名是否正确。”,实际上文件名没有异常,只是多些。是OpenDialog的Files属性容纳不了这么多文件吗?好像不是的,StringList的容量非常大。
请教高手到底怎么回事,应该怎么解决。谢谢!

解决方案 »

  1.   

    如果有BUG的话也是WINDOWS的BUG,OpenDialog只是调用WINDOWS的窗口而已
      

  2.   

    2880个?夸张哦,等打开完,估计你也差不多该按Power了
      

  3.   

    要打开那么多文件干吗,你用户一下子要看那么多文件骂,如果是后台处理,那么把这些文件导入一个TStringlist啊,循环查找一个目录下面的文件,使用findfirst和findnext函数,呵呵,这样你绝对可以处理的!!
      

  4.   

    列位兄台,使用OpenDialog只不过取得文件名而已,文件名本身只是字符串啊,就算Delphi申请了2880个文件信息的数组,这样的操作对于今天的计算机内存来说不算什么吧。Delphi的string长度号称几乎可以无限,这个应该不是瓶颈。
        取得这些文件名是为了批量处理每个文件,不要说用户,我们自己也不像分次完成一个本来从逻辑上看可以一次完成的事。打开文件时当然是一个一个打开,不会全部打开。
        让用户选取目录自然也可以,但是如果要排除目录下的一些文件时又显得用起来很讨厌,所以没有采用选完目录Findfirst,Findnext来做。
        继续期待高手...