“尝试创建COM对象时未设置对象变量或带块变量”

问题描述 投票:0回答:4

我有一个VB6 dll试图使用以下代码行创建COM对象:

Set CreateObj = CreateObject("OPSValuer.OPSValue")

但是,此操作失败,并显示错误“对象变量或未设置块变量”。

我可以在dcomcnfg中看到OPSValuer.OPSValue,它似乎已注册好。是否有人对导致问题的原因有任何想法?

com vb6 dcom
4个回答
2
投票

DMKing关于OleView是正确的。还可以尝试查看Dependency Walker中的控件,所有丢失的依赖项都应迅速浮出水面。


3
投票

您尝试实例化的类可能未正确安装或缺少某些依赖项。如果您有权访问OLE View,则可以尝试在VB之外实例化该类。如果无法实例化,则说明安装错误或缺少依赖项。 OLE View随Visual Studio一起提供,请在系统上搜索OleView.exe。


0
投票

错误可能会在对象初始化例程中引发。我在Google上找不到“ OPSValuer.OPSValue”,这让我认为这是遇到错误的自定义代码。


0
投票

假设OPSValuer.OPSValue是用VB编写的组件,这可能是该组件的Class_Initialize事件引发的错误。如果您拥有组件的源代码,则应该易于调试。

© www.soinside.com 2019 - 2024. All rights reserved.