Windows 7 Windows XP上的PowerBuilder 10.5应用程序32位到Windows 7 64位
我目前有一个32位PowerBuilder应用程序,我们正在尝试将其移植到Windows 7 64位环境。很明显,PowerBuilder 10.5是在Window7出现之前构建的,而大型应用程序也是在WindowsXP 32位环境中构建的 32位PowerBuilder应用程序在Windows 7 64位计算机上部署时会弹出以下错误消息。 应用程序已终止。错误:在对象对象窗口的函数ivvisiblecolumn的第44行指定的DataWindow行/列无效 数据库配置文件设置指向OLEDB,后端数据库为MSSQL 2008。目前,该应用程序确实在Windows7 64位环境下运行,并且似乎仅在查询模式下工作。这意味着我们可以读取数据窗口上的一些记录,但一旦您尝试进行事务,它就会崩溃 我的问题是-有可能让32位应用程序在64位环境中工作吗 到目前为止,客户要求提出可能的解决方案,而没有升级到PowerBuilder 12.5的想法。基本上,他们希望保持在10.5,但仍然让应用程序从32位环境工作到64位…苹果到橙子,如果你知道我的意思。还需要进一步调查64位的powerbuilder客户端运行时代码是否不能正常运行,或者dll是否存在问题。他们真的试图远离任何应用程序重写,因为该应用程序比Christ当木匠时更古老。我想这个应用程序最初是用PB6.5构建的 到目前为止,我有以下想法,但我是新手: -我知道Windows7附带了一个虚拟机IIRC。我想它叫WOW64。是否可以在服务器上创建虚拟机,并让用户在64位计算机中运行32位应用程序?然后创建一个快捷方式让用户只需点击Windows 7 Windows XP上的PowerBuilder 10.5应用程序32位到Windows 7 64位,windows-7,oledb,powerbuilder,powerbuilder-build-deploy,Windows 7,Oledb,Powerbuilder,Powerbuilder Build Deploy,我目前有一个32位PowerBuilder应用程序,我们正在尝试将其移植到Windows 7 64位环境。很明显,PowerBuilder 10.5是在Window7出现之前构建的,而大型应用程序也是在WindowsXP 32位环境中构建的 32位PowerBuilder应用程序在Windows 7 64位计算机上部署时会弹出以下错误消息。 应用程序已终止。错误:在对象对象窗口的函数ivvisiblecolumn的第44行指定的DataWindow行/列无效 数据库配置文件设置指向OLEDB,后
- 我们有一台虚拟XP机器和一台虚拟Windows7 64位机器进行测试。PowerBuilder 10.5实际安装在Windows 7上,似乎工作正常。但是,在运行模式或调试模式下运行应用程序会导致许多错误,这是可以想象的
- 该应用程序是在XP中构建并在Windows7上运行的,但结果显示了上述错误消息
- 我还没有研究过在兼容模式下运行,但是团队告诉我它不会工作
- 我还没有看过UAC或ALC用户管理。这会影响64位系统吗
- 我知道这与应用程序无关,但……在某些情况下,我看到32位应用程序在windows 64位环境中工作,只需针对某些DLL文件。Microsoft Flight Simulator X就是一个例子,32位游戏将在64位windows 7中崩溃。解决方法是获取一个名为uiautomationcore.DLL的Vista 64位DLL文件,并将其复制到windows环境中。游戏也必须安装在C:的根目录上才能运行
更新:有人有在64位机器上使用PB 10.5运行时文件的经验吗?我想知道powerbuilder客户端运行时是否正在将其DLL安装到应用程序C:\XXX的正确位置,或者找不到它?想知道如何处理这个问题。
- 基本上,没有什么可以阻止10.5 PB的应用程序在Win7/64上运行。我在win7/64上用PB11.5(也是一个32位IDE)开发和运行了几个产品。顺便说一句,一些旧的PB(如9)仍然在Win7上运行,所以可能是PB6.5。问题一定出在其他地方,与应用程序设计有关
- WoW64(以及注册表中的Wow6432Node)不是一个真正的VM,它是一组服务和系统API,与32位应用程序(以及不符合自Vista以来引入的新功能的遗留应用程序)的回退挂钩
听起来通常像是处理错误的返回值(在尝试访问给定无效行的属性或数据之前,计算的行号变为负值或null),或者,它可能与插入后从db返回自动增量值的方式有关错误:在object objectwindow的函数ivvisiblecolumn的第44行指定的DataWindow行/列无效
- 注意UAC管理可能会导致遗留应用程序出现意外行为,特别是当应用程序使用数据库时:UAC指导原则告诉不要将应用程序管理的数据安装在
文件夹中,该文件夹现在是只读的(自Vista以来-该指导原则自XP以来)。相反,如果每个人都可以访问,则必须将其放入程序文件
子目录,如果数据仅针对当前用户,则必须放入用户本地ProgramData
。Win7/Vista可以通过在本地将数据复制到用户(在AppData
中),同时假装应用程序当前正在从Users\username\AppData\Local\VirtualStore
程序文件访问数据,从而静默地符合标准
- 您可以尝试查找不正确的dll问题
- 基本上,没有什么可以阻止10.5 PB的应用程序在Win7/64上运行。我在win7/64上用PB11.5(也是一个32位IDE)开发和运行了几个产品。顺便说一句,一些旧的PB(如9)仍然在Win7上运行,所以可能是PB6.5。问题一定出在其他地方,与应用程序设计有关
- WoW64(以及注册表中的Wow6432Node)不是一个真正的VM,它是一组服务和系统API,与32位应用程序(以及不符合自Vista以来引入的新功能的遗留应用程序)的回退挂钩
错误:在object objectwindow的函数ivvisiblecolumn的第44行指定的DataWindow行/列无效
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources
HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\ODBC\ODBC.INI HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources