因为要开发64位程序,只能放弃DELPHI 7,转到XE。XE2 以上才能开发64位,这个我知道,所以安装了XE 7。但是不知道怎么指定是64位,Project-Options里,只看见32-bit Windows Platform,没有64-bit可选。编译以后也没有。
我的系统是WIN 7 64位旗舰版,应该没问题啊。请各位高人指点一下,是哪个菜单入口?

解决方案 »

  1.   

    1、打开XE7;
    2、新建一工程(或打开一个工程)
    3、在IED的右上侧的“项目管理器”对话框中,通过是默认编译Win32代码,见下图4、鼠标右键选择“Target Platforms(Win32)”,点击“Add Platform”5、打开了“select Platfoem”对话框6、选择“64-bit Windows”,鼠标点击“OK”键,“项目管理器”出现“Target Platforms(Win32)”,完成增加64位编译设置7、鼠标点击“Target Platforms(Win32)”,打开后出现32位和64位二栏“Target Platforms”
    注意:鼠标分别点击选择Target Platforms下属的 32-bit windows 或 64-bit windows 
    Target Platforms分别显示
        Target Platforms(win32)
        Target Platforms(win64)
    表示IDE默认编译的方式。括号内就是将要编译的是32位,还是64位。执行Run就完成编译了。 
      

  2.   

    那delphi xe的dll能不能和c#一样,可以达到any cpu的效果,还是说这个选择只影响编译而已,
    还有目前有个项目要把c# dll代码改写成delphi的dll,dll 里还会调用第三方的dll,第三方dll有32位和64位,目前已经可以判断出当前进程是32位的还是64位的,如果32位调用32位的没问题,

    本DLL设置64位下,调用64位dll,(由32位delphi demo exe启动本DLL)加载dll就失败了,getlasterror 错误为:1% 不是有效的 win32 应用程序
    本DLL设置64位下,调用64位dll,(由64位delphi demo exe启动本DLL)程序就无法启动,提示无法scan program header什么的
      

  3.   

    你的Dll也要编辑32位和64位: My32.dll   My64.dll
    在软件中判断系统64位,调用声明dll时
    if sys64 then ....
                else .....
      

  4.   

    补充:tools--options的delphi Options--Library中的selected platform也可以设置32或64。 
    使用控件的时候,鼠标悬停控件之上后会提示该控件支持32还是64,是不是支持iOS或安卓。