2013-03-07 4 views
9

サードパーティのocxコントロールを持つWindowsフォームアプリケーションがあります。以下のコマンドは、実行時にオブジェクトを作成するために使用されます。ASPオブジェクトの作成時にそのようなインターフェイスがサポートされていません。

myObject = myApplication.CreateObject("ML.MFinder", True) 

これは正しく動作しており、progIDも正しいです。他のOCXオブジェクトがASP プロジェクトでも正しく動作するため

System.Runtime.InteropServices.COMException: No such interface supported 

at ML.MApplicationClass.CreateObject(String ProgID, Boolean Allocate)

奇妙な:私は、エラーを以下の取得ASPプロジェクトで同じことをやったときに問題があります。私はIIS 5.1、Windows XP Pro SP3、フレームワーク3.5を使用しています。 また、ocxを手動で登録しました。

+0

あなたは参照を追加しましたか? –

+0

はい。すでに追加されています。 – Jaume

+0

ocxはどのスレッドモデルをサポートしていますか? – tcarvin

答えて

2

このocxコントロールはファイルシステム上で特定の読み取り書き込みアクセスが必要ですか?もしそうなら、ファイルシステムレベルの権利を与える必要があります:IUSR_XXXXX = READ + EXECUTE。

また、Dependency Walkerツールを使用して依存関係がないかどうかを確認する必要があります。

例外にクラスIDがありますか?そうであれば、そのクラスIDがレジストリに存在するかどうかを確認します。

+0

例外のクラスIDはありません。私は既にIUSR_アカウントの権限を設定しましたが、成功しません。しかし、ヒントありがとう、私はこの点を知らなかった。権限が大丈夫なら、どのように進めますか? 「このようなインタフェースエラーはありません」が表示されます。 – Jaume

+0

@Jaume:このオブジェクトを作成する手順のようなコードをいくつか共有できますか?またaspまたはasp.netを使用していますか? –

+0

ヒントをありがとう、私は新しいスレッドを作成した後、Webサービスメソッドが呼び出されます。そのスレッドの中で、エラーは報告されませんでした。ありがとうございました。 – Jaume

2

IISでは、外部ファイルまたはDLLにアクセスするための同じ規則はありません。 OCXファイルでは、IISの制限がさらに深刻になると思います。

私は問題がそのような参照または何かそうではないと思います。あなたが言ったように、あなたはすでにOCXを登録していますが、このOCXにもいくつかの依存関係がありますか?彼らは適切に登録されている必要があります。

関連する問題