情况可能听起来有点奇怪,但我必须玩我所拥有的。 有一个Win2003 64位服务器操作系统和一个使用Visual Studio 6编写的遗留应用程序。该应用程序由两部分组成:用VB6编写的ActiveX组件和使用它们的C ++代码。
我需要调试组件的代码。我在服务器上安装了Visual Studio 6,我可以进入组件的代码。然后我得到以下情况:
附加信息:C类初始化的最后一步是使用OLEDB提供程序打开与SQL Server的ADO连接。
我很感激如何解决这个问题。 提前谢谢。
答案 0 :(得分:0)
VB6调试器的声誉有时有点不稳定,我不确定它是否曾在64位操作系统上得到支持。
调试VB6还有其他一些选项。
答案 1 :(得分:0)
MDAC注册ADO / OLEDB类,如下所示:%CommonProgramFiles%\System\Ole DB\sqloledb.dll
检查您的流程环境是否以某种方式损坏。如果您使用重新启动管理器(当您的应用程序崩溃时重新启动它)不会恢复环境。我们在Sub Main
If LenB(Environ$("CommonProgramFiles")) = 0 Then
Call SetEnvironmentVariable("CommonProgramFiles", pvGetSpecialFolder(ucsOdtProgramFilesCommon))
End If
If LenB(Environ$("CommonProgramFiles(x86)")) = 0 Then
Call SetEnvironmentVariable("CommonProgramFiles(x86)", pvGetSpecialFolder(ucsOdtProgramFilesCommon))
End If