我们有非常古老和复杂的 VB6 应用程序来启动 .NET 服务器对象,就像 CreateObject(sClassName, sServerName)。它在我们的生产服务器中成功运行。现在我们正试图将我们的生产转移到 Windows 2008 R2 64-bet 机器上,而那个调用不再工作了,没有错误,什么都没有,它只是总是返回空字符串。看起来我们的 .NET 对象没有被创建。所有对象都有 GUID 和 ProgId,在装配中重新注册,并全面模仿我们在生产中拥有的任何东西。任何建议将不胜感激。
问问题
213 次
1 回答
0
CreateObject 不能返回空字符串。它要么返回一个对象,要么引发一个错误。
也许您不小心使用了旧版本的组件?放入一些日志记录并检查返回对象的 TypeName。
您是否使用 On Error Resume Next 忽略错误?
您可以在构建 .Net 组件时尝试显式定位 32 位,因为 VB6 只能以 32 位运行。
于 2013-08-20T08:39:14.217 回答