而在资源管理器中执行任何程序都可以,不存在系统资源不足的问题。有时候在任务管理器中发现被调用程序执行了好多次。

解决方案 »

  1.   

    可能是你的delphi调试的次数太多了,而每次分配的资源又没有及时释放。
      

  2.   

    办法就是关闭delphi,重启,但是最终的办法还是仔细看看你的源代码,看看那些地方资源没有释放,一定要考虑到运行出错的情况,因为在这种情况下,你的释放资源的代码可能没有执行。
      

  3.   

    问题在这里,我把这段给注释掉就没有问题了.我是遍历一个目录,比较该目录与别的目录中文件日期是否一致。hFile1 := CreateFile(PChar(src+SearchRec.Name), GENERIC_READ,
                           FILE_SHARE_READ, nil, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0);        if hFile1 = INVALID_HANDLE_VALUE then
            begin
                 writeln(LogFile,'比较日期时打开源文件错误:'+src+SearchRec.Name);
                 ReValue:=FindNext(SearchRec);
                 Continue;
            end;
            hFile2 := CreateFile(PChar(des+SearchRec.Name), GENERIC_Write,
                           FILE_SHARE_write, nil, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0);        if hFile2 = INVALID_HANDLE_VALUE then
            begin
                 writeln(LogFile,'比较日期时打开目的文件错误:'+des+SearchRec.Name);
                 ReValue:=FindNext(SearchRec);
                 continue;
            end;
            GetFileTime(hFile1, nil, nil, @File1LastModifyTime);
            GetFileTime(hFile2, nil, nil, @File2LastModifyTime);
           }
            lResult := CompareFileTime(File1LastModifyTime,File2LastModifyTime);
    后来改为lresult:=comparedatetime(FileDateToDateTime(FileAge(src+SearchRec.Name)),FileDateToDateTime(FileAge(des+SearchRec.Name)) );
    一句就可以了。