5

ASP クラシック ページで使用されている VB 6 dll をデバッグしようとしています。他の dll が機能するようになりましたが、特に 1 つが本当に頭痛の種です。これは COMSVCSLib COM を参照し、デバッグ時には空です。

    ...
    Dim objContext as COMSVCLib.ObjectContext
    Set objContext = GetObjectContext
    ...

コンパイルしてaspページから呼び出すと、すべて問題なく、

    <%
        dim obj
        set obj = Server.CreateObject("page_builder.glue")
        obj.Login
        set obj = nothing
    %>

VB ASP デバッグ DCOM のすべての側面に 'EVERYONE' を追加しました。

IIS 6 を使用して、64 ビット マシンで 32 ビットの Windows Server 2003 を実行しています。

他の DLL は問題なくデバッグできると述べたように、機能しないのはこの DLL のこの側面だけです。助言がありますか?

4

1 に答える 1

2

COMSVCLib.ObjectContext オブジェクトは、DCOM ホスト (dllhost.exe) のオブジェクト コンテキストを表します。このコンテキストにより、コンポーネント サービスでの DCOM アプリケーションの構成を記述するプロパティにアクセスできます。

ただし、VB6 で .DLL プロジェクトをデバッグ モードで実行すると、DLL は VB6.exe プロセスによってホストされます。このプロセスには、DCOM アプリケーションにあるような構成がないため、VB6.exe プロセスにはオブジェクト コンテキスト情報が含まれていません。

したがって、GetObjectContext は何も返しません。

于 2014-05-23T20:14:05.533 に答える