DEP мешает моей COM DLL работать - PullRequest
       38

DEP мешает моей COM DLL работать

1 голос
/ 21 сентября 2011

Я пытаюсь использовать COM DLL (написанную на Delphi 7) в моем приложении Delphi 7 IntraWeb, но она не работает из-за DEP. Я почти уверен, что именно DEP мешает мне использовать DLL, потому что, если я скомпилирую и запусту свое приложение IntraWeb как автономный сервер, все будет работать нормально. Но, скомпилировав и запустив его как DLL-библиотеку ISAPI, он не работает.

В WinXP (с использованием IIS 6) я могу добавить DllHost.exe в DEP, и все работает. Конечно, я действительно не хочу этого делать. На Win7 / 2008 (IIS 7) это не вариант.

Может ли кто-нибудь указать мне направление, которое может помочь мне заставить мою COM DLL работать при вызове из IntraWeb ISAPI DLL?

Нужно ли что-то делать с COM DLL? Есть ли какие-нибудь разрешения, которые я могу добавить куда-нибудь?

Спасибо, Michael

1 Ответ

0 голосов
/ 31 мая 2012

Я бы разместил dll внутри локального исполняемого файла, вызывая методы, пока не произойдет сбой.Вы могли бы сделать это с включенным DEP на вашем компьютере.

К сожалению, сам Delphi 7 аварийно завершает работу с включенной функцией предотвращения выполнения данных, в дополнение к нарушениям памяти в RTL / VCL, упомянутым TOndrej.чтобы заставить вашу COM dll работать с DEP - найдите ошибки и исправьте их.

...