CreateFileMapping-错误\u内存不足\u Delphi XE7

CreateFileMapping-错误\u内存不足\u Delphi XE7,delphi,delphi-xe7,Delphi,Delphi Xe7,我有下面的“一般元”问题 我将描述我记得做过的事情 我使用delphixe7 昨天我所有的代码函数都正确。 A.我编译了部署在客户端的2个程序,工作正常 之后,我安装了(如果我记得corect的话)一个来自CleverComponents的包来比较firebird数据库 打开一些示例后,我决定推迟这些示例,并返回到1程序来修复我收到的一个问题 程序突然停止工作了 有问题的组件是来自Intelligent Internet Suite的Tcl Downloader 当我使用Tcl Download

我有下面的“一般元”问题

我将描述我记得做过的事情

我使用delphixe7

  • 昨天我所有的代码函数都正确。 A.我编译了部署在客户端的2个程序,工作正常

  • 之后,我安装了(如果我记得corect的话)一个来自CleverComponents的包来比较firebird数据库

  • 打开一些示例后,我决定推迟这些示例,并返回到1程序来修复我收到的一个问题
  • 程序突然停止工作了

    有问题的组件是来自Intelligent Internet Suite的Tcl Downloader

    当我使用Tcl Downloader下载东西时,组件输入以下代码:

    FMapHandle := CreateFileMapping(AFileHandle, nil, p, h, l, nil);
    if (FMapHandle = 0) then begin
      raise EclStreamError.Create('TODO ' + IntToStr(clGetLastError()));
    end;
    
    误差=8;(信息显示为TODO 8)

    在几次尝试清理dcu、重新安装Internet套件、删除最新安装的软件包、清除我安装的任何痕迹后,我没有留下任何想法

    我确信没有代码问题,只有版本的一些“冲突”或者谁知道呢


    有没有关于如何解决此问题的想法?

    使用您的修订控制系统返回到有效的代码。然后继续前进,直到找到导致问题的变化。然后尝试找出代码失败的原因。
    p
    h
    l
    的值是多少,以及出现错误时文件的大小是多少?根据MSDN::“仅在Windows NT上,如果为fdwProtect参数指定了PAGE_WRITECOPY,文件将不会自动增长。这将导致CreateFileMapping()失败,GetLastError()将返回错误\u内存不足(8)。要在调用CreateFileMapping()之前设置文件大小,请使用SetFilePointer()和SetEndOfFile()。“致David:我没有版本控制:(.你的想法是正确的,但无法付诸实践。我还使用CreateFileMapping函数创建了一个新项目,结果是一样的。根本不起作用。对雷米说:代码正常工作了xx天,之后相同的代码就不再起作用了。问题不在于函数itsef、参数或其他任何东西。不知何故,我“瘫痪了”IDE、包或其他东西。您需要立即开始使用修订控制。