10.4.2 出来了,有没有人用?

过客猫2020 2021-03-04 12:36:30
10.4.2 出来了,有没有人用?
...全文
220 点赞 收藏 8
写回复
8 条回复
引用 7 楼 titan_ysl 的回复:
10.4.2这个版本的UnicodeString类型搞怪,在它的说明里,
String indexes are 1-based in desktop platforms and 0-based in mobile platforms.
但是在android下,你写 UnicodeString test,test1; test="12345"; test1=test[0];,调试时,查看这个变量的值是可以访问的,在运行过test1=test[0];这个代码就会出越界错误,只能从1开始访问。而在10.2.3版本中却没这个问题,是正常的!


应该是帮助没有更新。从10.4开始,Delphi编译器有一些比较大的调整,移动版编译器的内存管理模型改成和桌面版一致,对象的ARC(Automatic Reference Counting)取消了,和桌面版一样,对象需要手动释放。而且移动版的string下标改成和桌面版一致,默认从1开始(两者都可以通过编译开关切换)。可以使用条件编译检查当前编译器设置:
Delphi: {$IFDEF ZEROBASEDSTRINGS}
C++Builder: #ifdef _DELPHI_STRING_ONE_BASED
Delphi中还可以使用编译开关{$ZEROBASEDSTRINGS ON}、{$ZEROBASEDSTRINGS OFF}随时切换两种下标起点,不过不建议在一个程序中使用两种下标起点,本来就够乱的了。还有一点需要注意,不管哪版的编译器,也不管编译开关如何,System中的几个字符串函数,Copy、Insert、Delete、Pos等等,永远使用下标1起点,这是为了兼容Turbo Pascal代码的缘故。总之,Delphi编译器已经被历代编译器设计者玩坏了~
回复 点赞
titan_ysl 03月12日
10.4.2这个版本的UnicodeString类型搞怪,在它的说明里, String indexes are 1-based in desktop platforms and 0-based in mobile platforms. 但是在android下,你写 UnicodeString test,test1; test="12345"; test1=test[0];,调试时,查看这个变量的值是可以访问的,在运行过test1=test[0];这个代码就会出越界错误,只能从1开始访问。而在10.2.3版本中却没这个问题,是正常的!
回复 点赞
过客猫2020 03月08日
引用 3 楼 vc_dreamver 的回复:
如果不用clang作用不大。另外FMX在高清屏下感觉又出现了新BUG,如果桌面放缩了,FORM位置都不正常,TPopupMenu也显示不出来,挖掘了半天发现在程序设置里有选项,high DPI都不正常。不过有了Twincompile编译速度可以提高不少,但是code insight依然很差。还是有进步的:D
它最大的梗就是代码提示。
回复 点赞
感觉不应该有这么明显的BUG,高DPI支持从10.0 Seattle开始就有了(2015年),经过这么多版的发展,已经比较完善了
回复 点赞
ooolinux 03月05日
引用 3 楼 vc_dreamver 的回复:
如果不用clang作用不大。另外FMX在高清屏下感觉又出现了新BUG,如果桌面放缩了,FORM位置都不正常,TPopupMenu也显示不出来,挖掘了半天发现在程序设置里有选项,high DPI都不正常。不过有了Twincompile编译速度可以提高不少,但是code insight依然很差。还是有进步的:D

Form貌似有个Scaled 属性
回复 点赞
vc_dreamver 03月05日
如果不用clang作用不大。另外FMX在高清屏下感觉又出现了新BUG,如果桌面放缩了,FORM位置都不正常,TPopupMenu也显示不出来,挖掘了半天发现在程序设置里有选项,high DPI都不正常。不过有了Twincompile编译速度可以提高不少,但是code insight依然很差。还是有进步的:D
回复 点赞
ooolinux 03月04日
不知道改进大不大
回复 点赞
@Kallen
回复 点赞
发动态
发帖子
茶馆
创建于2007-08-02

361

社区成员

2.0w+

社区内容

C++ Builder 茶馆
社区公告
暂无公告