我有一个VB6 dll试图使用以下代码行创建COM对象:
Set CreateObj = CreateObject("OPSValuer.OPSValue")
但是,此操作失败,并显示错误“对象变量或未设置块变量”。
我可以在dcomcnfg中看到OPSValuer.OPSValue,它似乎已注册好。是否有人对导致问题的原因有任何想法?
DMKing关于OleView是正确的。还可以尝试查看Dependency Walker中的控件,所有丢失的依赖项都应迅速浮出水面。
您尝试实例化的类可能未正确安装或缺少某些依赖项。如果您有权访问OLE View,则可以尝试在VB之外实例化该类。如果无法实例化,则说明安装错误或缺少依赖项。 OLE View随Visual Studio一起提供,请在系统上搜索OleView.exe。
错误可能会在对象初始化例程中引发。我在Google上找不到“ OPSValuer.OPSValue”,这让我认为这是遇到错误的自定义代码。
假设OPSValuer.OPSValue
是用VB编写的组件,这可能是该组件的Class_Initialize
事件引发的错误。如果您拥有组件的源代码,则应该易于调试。