我有一个包含Class(cls)文件的VB 6.0项目。当我启动(调试)我的项目,并尝试在Classic ASP页面中执行以下语句时,
Set objMyObject = Server.CreateObject("ProjName.ClassName")
没有遇到断点并且发生以下错误。
Microsoft VBScript运行时错误'800a01ad'ActiveX组件不能 创建对象
如果我在另一个VB项目(测试项目)中使用相同的语句,那么断点命中没有错误。
有人可以帮忙吗?
答案 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的某种缺失依赖。