为什么调用 winexec 执行程序不成功,返回值:The system is out of memory or resources.

hellowbh 2003-08-21 11:47:21
而在资源管理器中执行任何程序都可以,不存在系统资源不足的问题。

有时候在任务管理器中发现被调用程序执行了好多次。
...全文
226 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shockjoy 2003-08-21
  • 打赏
  • 举报
回复
参数部队吧
shockjoy 2003-08-21
  • 打赏
  • 举报
回复
贴出代码看看
blackbeetle 2003-08-21
  • 打赏
  • 举报
回复
办法就是关闭delphi,重启,但是最终的办法还是仔细看看你的源代码,看看那些地方资源没有释放,一定要考虑到运行出错的情况,因为在这种情况下,你的释放资源的代码可能没有执行。
blackbeetle 2003-08-21
  • 打赏
  • 举报
回复
可能是你的delphi调试的次数太多了,而每次分配的资源又没有及时释放。
hellowbh 2003-08-21
  • 打赏
  • 举报
回复
问题在这里,我把这段给注释掉就没有问题了.

我是遍历一个目录,比较该目录与别的目录中文件日期是否一致。

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)) );
一句就可以了。
IORILI 2003-08-21
  • 打赏
  • 举报
回复
张用内存的东西用完了要释放
nhdj 2003-08-21
  • 打赏
  • 举报
回复
模糊记得好像遇到过这种问题,具体怎么解决的给忘了

你贴出代码看看

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧