Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 Windows XP上的PowerBuilder 10.5应用程序32位到Windows 7 64位_Windows 7_Oledb_Powerbuilder_Powerbuilder Build Deploy - Fatal编程技术网

Windows 7 Windows XP上的PowerBuilder 10.5应用程序32位到Windows 7 64位

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,后

我目前有一个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位应用程序?然后创建一个快捷方式让用户只需点击

  • 我们有一台虚拟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以来引入的新功能的遗留应用程序)的回退挂钩
  • 错误:在object objectwindow的函数ivvisiblecolumn的第44行指定的DataWindow行/列无效
    听起来通常像是处理错误的返回值(在尝试访问给定无效行的属性或数据之前,计算的行号变为负值或null),或者,它可能与插入后从db返回自动增量值的方式有关
  • 注意UAC管理可能会导致遗留应用程序出现意外行为,特别是当应用程序使用数据库时:UAC指导原则告诉不要将应用程序管理的数据安装在
    程序文件
    文件夹中,该文件夹现在是只读的(自Vista以来-该指导原则自XP以来)。相反,如果每个人都可以访问,则必须将其放入
    ProgramData
    子目录,如果数据仅针对当前用户,则必须放入用户本地
    AppData
    。Win7/Vista可以通过在本地将数据复制到用户(在
    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