DEP阻止我的COM DLL工作 [英] DEP preventing my COM DLL from working

查看:169
本文介绍了DEP阻止我的COM DLL工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的Delphi 7 IntraWeb应用程序中使用COM DLL(用Delphi 7编写),但由于DEP而失败。我几乎肯定是DEP,阻止我使用DLL,因为如果我编译和运行IntraWeb应用程序作为StandAlone服务器,一切工作正常。但是,编译和运行它作为ISAPI DLL,它失败。



在WinXP(使用IIS 6)我可以添加DllHost.exe到DEP和一切正常。当然,我真的不想这样做。在Win7 / 2008(IIS 7)这不是一个选项。



有人可能指向我的方向,可以帮助我得到我的COM DLL工作,一个IntraWeb ISAPI DLL?



我需要对COM DLL做些什么吗?



感谢您,
Michael

解决方案

我会主机dll里面的本地可执行文件,调用方法,直到崩溃发生。您可以在自己的机器上启用DEP来执行此操作。



不幸的是,除了TOndrej提到的RTL / VCL中的内存违例外,Delphi 7本身崩溃。 >

这就是你需要做的,让你的COM dll使用DEP - 找到错误并修复它们。


I'm trying to use a COM DLL (written in Delphi 7) within my Delphi 7 IntraWeb application but it's failing due to DEP. I'm pretty much certain it's DEP that is preventing me from using the DLL because if I compile and run my IntraWeb app as a StandAlone Server, everything works fine. But, compiling and runnning it as an ISAPI DLL, it fails.

On WinXP (using IIS 6) I can add DllHost.exe to DEP and everything works. Of course, I really don't want to do that. On Win7/2008 (IIS 7) this isn't an option.

Can someone point me in a direction that can help me get my COM DLL to work when called from an IntraWeb ISAPI DLL?

Do I need to do something to the COM DLL? Are there any permissions I can add somewhere?

Thanks, Michael

解决方案

i would host the dll inside a local executable, calling methods until the crash happens. You would do this with DEP enabled on your own machine.

Unfortunately Delphi 7 itself crashes with Data Execution Prevention enabled, in addition to memory violations in the RTL/VCL that TOndrej mentioned.

That is what you'll need to do to get your COM dll working with DEP - find the bugs and fix them.

这篇关于DEP阻止我的COM DLL工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆