首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

散分. 回谈谈Delphi XE4的试用感受

2013-06-25 
散分.来谈谈DelphiXE4的试用感受RAD Studio XE4 目前最新版 官方 ISO 文件下载(3.76GB):http://altd.embar

散分. 来谈谈Delphi XE4的试用感受
RAD Studio XE4 目前最新版 官方 ISO 文件下载(3.76GB):
http://altd.embarcadero.com/download/radstudio/xe4/delphicbuilder_xe4_win.iso



五一回来结贴




[解决办法]
  关注XE4的感受! 
[解决办法]
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
这个真心好,值得支持。有空下来试试。
[解决办法]
给个KEY吧,好下来试用。
[解决办法]


[解决办法]
散分.    回谈谈Delphi  XE4的试用感受 传XE5 才支持 Android
[解决办法]
除了手机端,PC端不知道有什么改进
[解决办法]
不错,有待完善 ,期待XE5的到来。。。
[解决办法]
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
用来做ios开发的?
[解决办法]
接分........
[解决办法]
在我看来XE4可能开启了死亡之旅。至少对于我可能是这样的。
仔细查看XE3中VCL的代码,会发现有{$IFNDEF NEXTGEN} 这样的定义。
就名字来 NEXTGEN 来看,即 next generation的意思。也就一下代编译器
代表着Delphi的未来。因此我很好奇到底是什么样子的未来。于是我找到了
Marco Cantù, Delphi Product Manager写的《The Delphi Language for Mobile Development》
其中有一句“here we are referring to code you want to migrate to the mobile platform of course, as the Delphi Windows compilers are not going to change any time soon”
证明了我的观点,以后Delphi就是朝这个next generation发展了。

于是,我需要具体了解到底是什么内容。
基于我现在的了解有以下内容:
1.String将只会有一种UTF16(双字节字符串),不再有AnsiString UnicodeSting 
  更不会有String[255].
2.String以后不能修改 比如 var s: String; s[1] := 'a';这个会报错。


[dcc32 Warning]: W1068 Modifying strings in place may not be supported in the future” 
3.以后的String,第一个字符将不再是从下标1,而是下标0
4.类将使用ARC机制。简单来说,class将是类似于Interface的方式,通过引用计数来进行生命周期的
  管理。
  比如以后的代码可能是:


[解决办法]
关注一下。楼上说的压力好大。
[解决办法]
学习一下
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
虽然看不懂,但是还是表示支持一下。嘿嘿。
[解决办法]
关键字和限制越来越多了。
虚拟机化是一个趋势。
delphi已经远远落后于其他开发工具了。
新特性的引用代价也很大,就是会有很多看不见的bug.
使用新版本的Delphi风险上升了。
[解决办法]
希望delphi能跟再次和c++对抗
[解决办法]
目前仍然Delphi2007的飘过,遇到bug再翻XE2、XE3的代码打补丁过来散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
引用:
会发现有{$IFNDEF NEXTGEN} 这样的定义。
就名字来 NEXTGEN 来看,即 next generation的意思。…



看来意思是如果要写一支程式能大小通吃、横跨桌面编译器与行动编译器,某些语法需要调整,如7种旧的string类型. 
以下为官方说明文件

 Two New Delphi Mobile Compilers for iOS

The iOS target platform is supported only in Delphi mobile applications, which use one of the two new Delphi mobile compilers available in XE4:

    DCCIOS32.EXE, the Delphi Cross Compiler for the iOS Simulator


    DCCIOSARM.EXE, the Delphi Cross Compiler for the iOS Device 

Differences between Delphi Desktop Compilers and Delphi Mobile Compilers

The two Delphi mobile compilers (DCCIOSARM and DCCIOS32) are quite different from the Delphi desktop compilers (DCC32, DCC64, DCCOSX). The mobile compilers can be considered a "Next Generation" of the Delphi language, and the mobile platform is a new step in the continuing evolution of the Delphi language. Keep in mind, however, that the language differences typically are not related to platform differences.

To summarize:

    No inline assembly is supported on iOS, but four atomic intrinsic functions are supported by the Delphi mobile compiilers
    COM is not supported

    (7种旧的string 将不支援) 
    Seven of the older string types are not supported:
        AnsiString
        WideString
        AnsiChar and PAnsiChar
        PWideChar
        OpenString
        ShortString 
    Strings are:
        Immutable (constant), so you cannot index into a string as an array and manipulate the characters in a string

            If you attempt to modify a string, the Delphi mobile compilers might emit the message W1068 Modifying strings in place may not be supported in the future (Delphi). 
            You can specify whether the message x1068 is emitted as a warning or an error. In the Hints and Warnings page, set the warning "Modifying strings in-place...." to "true" or "error". 

        0-based instead of 1-based (requiring possible changes to string handling routines)

            You can use the new Delphi compiler directive {$ZEROBASEDSTRINGS} to change the string indexing scheme locally. However, the RTL for the Delphi mobile compilers uses 0-based strings, so you must use 0-based strings when you are using the RTL in a Delphi mobile app. For example, {$ZEROBASEDSTRINGS} is useful if you have an isolated instance of in-place string editing that you cannot migrate to 0-based indexing at the moment. It is not safe to use {$ZEROBASEDSTRINGS} for code larger than a snippet; do not use {$ZEROBASEDSTRINGS} for an entire module or application. 



        For all string handling, we recommend using TStringHelper functions. See Migrating Delphi Code to iOS from Desktop for examples.
        For editing a string in place, we recommend using TStringBuilder. 
    Automatic Reference Counting is on by default for classes as well as interfaces, strings and dynamic arrays. 

    Note: The With statement might not be supported in the future by the mobile compilers or new compilers. We recommend that you refactor or rewrite any With statements in your code base, and eliminate With statements where possible.

For more information about writing code for the Delphi mobile compilers, see Migrating Delphi Code to iOS from Desktop. 
[解决办法]
还不会从7升级到更新的, 以后会了再用, 观望
[解决办法]
移动版的编译器和桌面版的特性有区别很正常,毕竟是简单架构,简化语言特性可以让编译器产生的代码效率高一些。但是win32、win64、osx编译器的特性应该会保持长期稳定的,不可能轻易去掉长期存在的一些东西,象with语句,尽管说了可能不再支持,但是废掉的可能性相当小,毕竟它在那里又有什么危害呢,不过是让编译器在with块中改变一下作用域而已,废掉要修改编译器,不带来效益,还可能带来新的问题,连goto都没废掉呢。

[解决办法]
还是要转移到XE4上,除非不用Delphi了
[解决办法]
关注.                      .
[解决办法]
delphi要是学学golang那样,任何对象都来自IInterface,实现这个都有生命自管理功能,那也挺不错的
[解决办法]
很久没来了,关注一下,Delphi 未来到底走向何方,拭目以待。。。
[解决办法]
佩服大牛!!!!
[解决办法]

引用:
看来 XE4 还是没有脱离 XCODE啊...

http://docwiki.embarcadero.com/mobdevsetup/xe4/en/index.html

先决条件
为了构建和测试iOS应用程序,你需要以下条件:
在Mac连接到同一网络的RAD Studio
在Mac上安装的Xcode
在Mac上安装Xcode的命令行工具
在您的Mac上安装和运行平台助理
为了测试你的iOS设备上的iOS应用程序的话,还需要以下条件:
一个苹果开发者帐号(免费)和iOS开发者的帐户通过苹果($ 99)
安装后的开发者证书
有准备的iOS设备通过USB电缆连接到您的Mac


这个是说要有一台MAC电脑,并且在上面安装有XCODE及XCODE命令行工具是吗?
[解决办法]
引用:
在我看来XE4可能开启了死亡之旅。至少对于我可能是这样的。
仔细查看XE3中VCL的代码,会发现有{$IFNDEF NEXTGEN} 这样的定义。
就名字来 NEXTGEN 来看,即 next generation的意思。也就一下代编译器
代表着Delphi的未来。因此我很好奇到底是什么样子的未来。于是我找到了
Marco Cantù, Delphi Product Manager写的《The Delphi Language for Mobile Development》
其中有一句“here we are referring to code you want to migrate to the mobile platform of course, as the Delphi Windows compilers are not going to change any time soon”
证明了我的观点,以后Delphi就是朝这个next generation发展了。

于是,我需要具体了解到底是什么内容。


基于我现在的了解有以下内容:
1.String将只会有一种UTF16(双字节字符串),不再有AnsiString UnicodeSting 
  更不会有String[255].
2.String以后不能修改 比如 var s: String; s[1] := 'a';这个会报错。
[dcc32 Warning]: W1068 Modifying strings in place may not be supported in the future” 
3.以后的String,第一个字符将不再是从下标1,而是下标0
4.类将使用ARC机制。简单来说,class将是类似于Interface的方式,通过引用计数来进行生命周期的
  管理。
  比如以后的代码可能是:


[解决办法]
自动释放,可能会导致系统运行速度变慢,参考JAVA就知道。
[解决办法]
支持 下,顶
[解决办法]
哥还用着delphi7 。。。原始人吗
------解决方案--------------------




散分.    回谈谈Delphi  XE4的试用感受 午饭后来直播

这下载速度,让我1m的网情何以堪……
[解决办法]
搞这么多花样,也不知道能不能被企业接受。。。
[解决办法]

[解决办法]
散分.    回谈谈Delphi  XE4的试用感受
[解决办法]
呵呵!
俺也还在Delphi7中!
[解决办法]
vcl开发感觉跟XE3差不多

热点排行