VB 6.0调试断点没有命中

时间:2011-07-22 15:17:41

标签: vbscript asp-classic

我有一个包含Class(cls)文件的VB 6.0项目。当我启动(调试)我的项目,并尝试在Classic ASP页面中执行以下语句时,

Set objMyObject = Server.CreateObject("ProjName.ClassName")

没有遇到断点并且发生以下错误。

  

Microsoft VBScript运行时错误'800a01ad'ActiveX组件不能   创建对象

如果我在另一个VB项目(测试项目)中使用相同的语句,那么断点命中没有错误。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您正在尝试使用名称“ProjName.ClassName”创建COM对象的实例 - 这不太可能是真正的COM对象。

您的COM类需要是在Windows中注册的类,或者它需要是VB项目中定义的类。

MSDN中的示例是:

 Sub CreateADODB()
    Dim adoApp As Object
    adoApp = CreateObject("ADODB.Connection")
End Sub

其中ADODB.Connection是先前在Windows中注册的COM类。您在上面提供的代码试图实例化一个不存在的类(除非它已经在同一个VB项目中)。

你说其他项目有效,那么我会猜测测试项目有一个名为ClassName的类。

好的 - 更新了。错误代码不是'DLL Missing' - 这可能是COM对象无法实例化的原因。以下Microsoft支持页面提供了一些跟踪问题的原因和方法。它可能是对DLL的某种缺失依赖。

http://support.microsoft.com/kb/194801