如题

解决方案 »

  1.   

    程序是先获取文件个数,再用For to 文件个数 检查是否符合条件的文件,再作处理。结果总是死机矣好象进入死循环一样
      

  2.   

    补充LS的:
    doevents = 较高的 CPU 使用 + 一般不会死机 + 比原来慢很多的速度
    doevents + sleep 1 = 很低的 CPU 使用 + 一般不会死机 + 比原来慢很多的速度我上面说"一般"仅限于异步处理,同步处理还是会死机的....
      

  3.   

    doevents不用每个循环都加,你可以判断一下,每100次循环加一次就行。
      

  4.   

    其实楼主最应该自己另行创建线程。
    当你的处理循环在你的当前线程里面是,当前的就会卡死。
    看API吧,CreateThread等等....
      

  5.   

    对于楼主的需求,如果就是要完成这一项任务,前台界面也仅仅是要显示进度,大可不必多线程或多进程。
    强制刷新你的显示控件可矣。label1.Caption = "正在处理..."
    ProgressBar1.Max = lngFileNum
    ProgressBar1.Value = 0
    For i = 1 To lngFileNum
        Label2 = dtrFileName(i)
        Label2.Refresh    '这里分析处理
        '......    ProgressBar1.Value = i
        ProgressBar1.Refresh
    Next i
    label1.Caption = "完成处理!"
      

  6.   

    LZ,还是建议,把所有工作分成几个段,然后另开线程,让几个线程同时来
    完成这个任务,如果让主进程,来完成的话,效率太低了,CPU利用率太低
    了!内存消耗太大!
      

  7.   


    安心用Doevents吧,呵呵,不用搞线程啊啥的那么复杂短时间内可能资源耗费比较大,但是基本上用不了10分钟吧,除非你的文件比较大
      

  8.   

    呵呵,差不多是为了完成单一繁琐的工作.是一个目录里有相同文件名不同扩展名的文件,把少于7个相同文件名不同扩展名的文件删除如:1.a,1.b,1.c,1.d...等.把少于7个这样的文件删掉就行了.
      

  9.   

    哎....沟通太难了."少于7个相同文件名不同扩展名的文件"这句话该怎么理解 ?? 扩展名除非你姑意设, 不然那来的 .a .b .c 说一点实际的吧.