公司有一套软件,做工程用的,原来是用delphi5.5在win2000操作系统编译开发的,当然,后来在XP上编译了也是可以运行的。
这套软件在64位WIN7上有一些小问题,比如二进制配置文件保存,实际已存,总提示未存(我不是程序员)
我们在64weiWIN7上安装DELPHI5.5,重新编译这套软件,结果不能运行。但新编一个小程序还是可以运行的,说明delphi5.5装的还是对的,这也要感谢坛子里的老鸟的帖子指路。
我想请问,我们这个思路是否可行?有哪位牛人也做过这样的升级吗?谢谢!Windows 7移植64位软件Delphi

解决方案 »

  1.   

    感谢楼上回复,仔细想想,确实是这个思路,我们上次在DELL的R710服务器平台上,也是遇到了二进制文件的问题,那次是根本就打开文件失败,看来仔细研究这个文件的打开与保存的部分代码是关键。
      

  2.   

    "32位程序能直接跑在64位系统"这就是一句空话,事实上我们这个行业现场几乎全是用XP系统,WIN7别说64位,连32位的都没人用,微软瞎折腾啊。
      

  3.   

    win7兼容32位的程序,有时候需要用管理员权限运行。我现在维护delphi5的程序,跑在xp,win7,win8下
      

  4.   

    操作系统从 32位步入64位,对于用户来说是质的飞跃。由于CPU读取数据宽度增加1倍,速度和精度都带来了跨跃。同时,CPU的读写方式的改变,对于程序员来说,需要适应跟进。虽然,64位系统支持32位程序,但是是有条件的,因为系统对CPU的操作有所变化,有的有32位上操作,就不能在64位在操作了。比如,软件通过调用底层,通过汇编读写数据的源程序,在32位上运行自如,在64位上就出现问题,执行出错。
        在开发工具方面,基于Java、.NET的工具可以很顺利地支持64位平台。因为,它们不通过调用底层实现代码,而是基于.Net调用实施。对于Delphi来说,由于它是与操作系统紧密相关的,与它代码,最终实现“32位程序可以在64位系统正常运行”的目的。
        下面是笔者,初步实践,仅供同仁参考:
        1、对于涉及到ASM代码的单元进行修改,采用API取代;
        2、对于一些引用的读写硬件的单元,多数采用ASM代码,取消引用该类单元;
        3、尽可能不使用第三方控件。特别是,无源代码的第三方控件。(内含ASM代码)
        4、修改后的读写硬件的单元,要分别在64位机器中,调试。主要验证: 
       (1)可以运行(支持代码)。
       (2)返回值32位与64位一致。
        通过,上述代码改进。编译后的程序。在64位上正常运行。