5

我正在尝试调试在 ASP 经典页面中使用的 VB 6 dll。我已经让其他 dll 工作了,但特别是其中一个让我非常头疼。这个引用了 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 的各个方面。

我在 64 位机器上运行 32 位 Windows Server 2003,使用 IIS 6。

正如我提到的其他 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 回答