【问题标题】:How can I force Delphi 7 to load the whole executable?如何强制 Delphi 7 加载整个可执行文件?
【发布时间】:2012-09-13 20:44:55
【问题描述】:

这几乎是same question for Delphi 2006 的克隆,但我想要一个适用于 Delphi 7 的解决方案。我还得到了外部异常 C0000006。是否可以让 Delphi 7 加载内存中的所有可执行文件?

【问题讨论】:

    标签: delphi delphi-7


    【解决方案1】:

    您需要将构建后的操作添加到您正在使用的任何构建自动化中。找到一个外部工具来修改可执行文件的 PE 标志并从构建脚本中调用它。显然,这必须在构建可执行文件之后发生。

    我建议使用 MS 工具链中的 editbin。您可以将其作为 Windows SDK 的一部分进行安装。

    推荐将如下所示:

    editbin /SWAPRUN:NET|CD yourexefile.exe
    

    【讨论】:

    • 谢谢!这可能对我也有帮助!我想这也适用于 DLL?
    • @AndreasWieland 是的 DLL 应该被链接器以同样的方式处理
    【解决方案2】:

    Delphi 7 内置了对 SetPEFlags 指令的支持,并且常量(IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 等)已在 Windows.pas 中定义。

    根据JEDI help,该指令是在 Delphi 6 中引入的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 2021-02-15
      相关资源
      最近更新 更多