我正在研究我在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。
有什么帮助吗?
通过快速谷歌搜索'connecttonewobject',我发现了这个建议:
所有课程都有一个强大的名字?
是否所有课程都安装在GAC中?
Bruce Armstrong还建议使用Dependency Walker来帮助确定所有对象都部署在运行代码的机器上。