我正在尝试调试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
%>
我将'EVERYONE'添加到VB ASP调试DCOM的所有方面。
我使用IIS 6在64位计算机上以32位运行Windows Server 2003。
正如我提到的其他DLL调试正常,只是这个方面的这个方面不起作用。 有什么建议吗?
答案 0 :(得分:2)
COMSVCLib.ObjectContext对象表示DCOM主机(dllhost.exe)中的对象上下文。通过此上下文,您可以访问描述组件服务中DCOM应用程序配置的属性。
但是,当您在VB6中以调试模式运行.DLL项目时,DLL将由VB6.exe进程托管。此过程没有DCOM应用程序具有的任何配置,因此VB6.exe进程不包含任何对象上下文信息。
因此GetObjectContext将不返回任何内容。