1

Delphi 7 IntraWeb アプリケーション内で COM DLL (Delphi 7 で記述) を使用しようとしていますが、DEP が原因で失敗します。IntraWeb アプリをスタンドアロン サーバーとしてコンパイルして実行すると、すべて正常に動作するため、DLL の使用を妨げているのは DEP であると確信しています。しかし、ISAPI DLL としてコンパイルして実行すると失敗します。

WinXP (IIS 6 を使用) では、DllHost.exe を DEP に追加すると、すべてが機能します。もちろん、私は本当にそれをしたくありません。Win7/2008 (IIS 7) では、これはオプションではありません。

IntraWeb ISAPI DLL から呼び出されたときに COM DLL を動作させるのに役立つ方向性を教えてもらえますか?

COM DLL に対して何かを行う必要がありますか? どこかに追加できる権限はありますか?

ありがとう、マイケル

4

1 に答える 1

0

ローカルの実行可能ファイル内で dll をホストし、クラッシュが発生するまでメソッドを呼び出します。これは、自分のマシンで DEP を有効にして行います。

残念ながら、TOndrej が言及した RTL/VCL でのメモリ違反に加えて、データ実行防止を有効にするとDelphi 7自体がクラッシュします。

COM dll を DEP で動作させるには、これを行う必要があります。バグを見つけて修正します。

于 2012-05-31T15:25:27.670 に答える