我们有一个非常大的 Delphi 2006 项目,我们不想迁移到当前的 delphi(因为这需要一个月的工作......)。该项目编译为进程中的 COM 二进制文件 (ocx)。
DEP 引起了很多麻烦,因为 .NET 和 VC 开发人员都默认为 DEP=True。
问题:我们可以使 OCX DEP 化吗?
背景: DEP 是一个进程级别的属性。非 DEP 进程将加载 DEP 或非 DEP 的 DLL 和 OCX。但是,DEP 进程将拒绝加载具有丑陋的“无法访问的内存位置”错误的非 DEP dll 和 OCX。这就是为什么在创建本机 dll 和进程中的 OCX 以供其他开发人员使用时,DEP 是生活中非常重要的事实。
我在这里看到了线程: 如何在 Delphi 2006 或更早的可执行文件上启用 DEP/NX 和 ASLR?
但它似乎是在谈论在进程级别启用 DEP(例如,在 Delphi 2006 创建的 exe 中)。
我们如何处理由 Delphi 编译的 DLL 和 OCX,它们将在进程内运行,即将加载到 DEP=true 进程中?
谢谢!