这个错误通常发生在以下两种情况:
1. 大漠插件未正确注册
这是最常见的原因。大漠插件(DM.dll)需要注册才能使用。
解决方案:
' 方法1:手动注册DM.dll
' 打开cmd管理员权限,执行:
regsvr32 DM.dll
' 方法2:使用VBScript注册
Set ws = CreateObject("WScript.Shell")
ws.Run "regsvr32 DM.dll /s", 0, True
rem 方法3:使用批处理注册
@echo off
regsvr32 DM.dll
pause
2. 代码问题
检查你的VBScript/ASP代码:
示例正确代码:
On Error Resume Next
' 创建对象
Set dm = CreateObject("dm.dmsoft")
If Err.Number <> 0 Then
MsgBox "创建对象失败:" & Err.Description & " 错误代码:" & Err.Number
Else
MsgBox "创建对象成功!版本:" & dm.Ver()
End If
3. 常见排查步骤
检查插件是否存在:
' 查看DM.dll是否存在
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("DM.dll") Then
MsgBox "DM.dll存在"
Else
MsgBox "DM.dll不存在"
End If
检查注册状态:
# 查看是否已注册
reg query HKEY_CLASSES_ROOT\dm.dmsoft
4. 权限问题
- 以管理员身份运行CMD或脚本
- 确保对DM.dll有读取权限
5. 如果是64位系统
可能需要:
# 如果是32位插件在64位系统
cd C:\Windows\SysWOW64
regsvr32 DM.dll
6. 完整测试脚本
' test_dm.vbs
Option Explicit
Dim dm, version
' 尝试创建对象
On Error Resume Next
Set dm = CreateObject("dm.dmsoft")
If Err.Number <> 0 Then
WScript.Echo "错误:0x" & Hex(Err.Number) & " - " & Err.Description
WScript.Echo "请按以下步骤操作:"
WScript.Echo "1. 以管理员身份运行CMD"
WScript.Echo "2. 执行: regsvr32 DM.dll"
WScript.Echo "3. 确保DM.dll在系统PATH或当前目录"
Else
version = dm.Ver()
WScript.Echo "大漠插件创建成功!版本:" & version
Set dm = Nothing
End If
快速修复方法:
下载DM.dll到C:\Windows\System32(或SysWOW64)
以管理员打开CMD
执行命令:
regsvr32 DM.dll
重新运行你的脚本
如果问题依旧,请提供:
- 操作系统是32位还是64位?
- DM.dll版本是多少?
- 错误出现在VBScript还是ASP中?