我正在尝试在我的Delphi 7 IntraWeb应用程序中使用COM DLL(用Delphi 7编写)但由于DEP而失败。我非常确定它是DEP阻止我使用DLL,因为如果我编译并运行我的IntraWeb应用程序作为StandAlone服务器,一切正常。但是,编译并运行它作为ISAPI DLL,它失败了。
在WinXP上(使用IIS 6)我可以将DllHost.exe添加到DEP,一切正常。当然,我真的不想这样做。在Win7 / 2008(IIS 7)上,这不是一个选项。
当有人从IntraWeb ISAPI DLL调用时,有人可以指点我可以帮助我使用COM DLL吗?
我是否需要对COM DLL执行某些操作?我可以在某处添加任何权限吗?
谢谢, 迈克尔
答案 0 :(得分:0)
我会在本地可执行文件中托管dll,调用方法直到崩溃发生。您可以在自己的计算机上启用DEP时执行此操作。
不幸的是,除了TOndrej提到的RTL / VCL中的内存违规外,Delphi 7 本身还启用了数据执行保护功能。
这是你需要做的才能让你的COM DLL与DEP一起工作 - 找到错误并修复它们。