0

我正在处理我在 powerbuilder 中连接 dot net dll 的项目。在 dot net 的 dll 项目中,我引用了另外两个 dll。我的项目 dll 是 COM 类型的,并且已使用 dot net version 目录中的 regasm.exe "mydll.dll" 成功注册。我可以在我的 Windows 注册表中看到注册表项,但是当我在其他机器上测试时,它会抛出连接到 com 对象失败返回 -3 的异常。

我被严重卡住了,无法找出解决方案。

在我的 powerbuilder 代码中:

dw_data.accepttext()
oleobject obj
obj= create oleobject
ll_obj= obj.connecttonewobject("classname")
IF ll_obj < 0 THEN
    DESTROY obj
    MessageBox("Verify","Connecting to COM Object Failed Error: " + String(ll_obj))
    Return
END IF

ll_obj 在其他机器中返回 -3。

有什么帮忙的吗?

4

1 回答 1

0

通过对“connecttonewobject”的快速谷歌搜索,我发现了这个建议:

所有类都有一个强名称吗?

GAC 中是否安装了所有类?

Bruce Armstrong 还建议使用Dependency Walker来帮助确定所有对象都部署在运行代码的机器上。

于 2019-02-22T13:00:13.823 回答