这个真恶心人!Delphi 11.1的Listview不能继承DynamicAppearance
看完这四个图,是不是也恶心到了,我连续点Ignore,出了四次让我忽略,本以为就过去了,结果更恶心的在后边,ide崩溃了!
枪毙了ide,重启,再来,这次我ignore All,还是不行,Cancel,也不行!脆弱的ide,在读取fmx出错就肯定崩溃了!
怎么办呢?
即然是属性的问题,我打开fmx文件,准备把引起错误的属性去掉,避免出上面的错误,好家伙,去掉了相关的属性,再打开对应的单元,ide直接卡死,罢工了,没招,只能是枪毙他,再重启...
在这反反复复中,ide被我枪毙N次,再拉起来...
有一点让人满意,ide被拉起来的速度,是真快,一扶就站起来了...不过,就是太脆弱了...
怎么办呢?看代码吧,这个单元是一个继承过来的Frame,是不是因为父单元没打开的问题,打开父单元,正常打开了,再打开这个子单元,问题依旧。
看上面的出错信息,原以为是新版本删除了这些属性,细看不是啊。于是想到是继承了了问题。
新建一个项目,再新建一个Frame,准备做为父类,在上面放上listview,使用DynamicAppearance,这个过程没有问题,ide工作正常
基于这个frame,继承一个新的单元,也没有问题,保存,问题来了,保存的时候出错,ide又开始错乱,只能关闭,查看,新建的子单元,fmx没有保存。
我想我重显了问题,前前后后两个多小时候,就这样没了。
跑到QC上,反应了这个问题:https://quality.embarcadero.com/browse/RSP-37997,顺便看看其他有没有遇到类似的问题,还真有,只不过和我的不一样,我能重显,他们重显不了,只能描述,但我估计,都是一个问题,比如这个:
https://quality.embarcadero.com/browse/RSP-37973
恶心到此结束,怎么办呢?问问专家,也没招,让我用代码继承,这不可能啊,我的旧项目都是10.4.2来的,有很多,改不起,但一讨论,可以用10.4.2编辑单元,然后拿回来用,反正,编译还是正常的,只要不在ide中打开这些问题单元就没事。
说干就干,一口气把类似的单元改完,编译出了11.1的版本。
终于又开始体验Delhi 11.1的丝滑了!
总结这几天D11.1的大坑:
1.65536错误,加多了jar,编译出这个错误,还好官方给出了解决办法;
2.编译特定的jar会卡ide;昨天提的,在网友们的投票下已经open了;
3.今天遇到的listview继承的问题;
坑虽然有,但说实话,并不影响我对这个版本的认可,一个字:快!方方面面都快,让人感觉万般丝滑,我一直在说这个词语,因为想不到其他的来描述了!
如果在Ide不出错的情况下,ide的表现还是完美的,无论是界面,启动还速度,打开项目的速度,编译的速度,编译出的app的运行速度,都比前期的版本要快的多,让人明显能感觉到的,不信,你也可以试试。这真不是吹的。
所以说,当你看了这么多,虽然我被恶心倒了,但是还是坚定的升级到这个版本,毕竟,并不是每个单元都要继承listview,同时也建议你也升级。
已经基于这个版本做一个功能不多的新app,以及重升级今晚说的生产中的app,D11.1投入生产还是可以的。
看到这里,祝我们都好运,毕竟现在世界真不太平,疫情、战争....,在这纷乱的世界中,太多的未知,也只能想想,好运常伴了。
这个问题,在Delphi 11.1 patch 1中修正了。但是在Android平台的问题还是存在。
具体情况在这里:
Error reading TAppearanceObjectItem.Appearance.Font.Size:Invalid property path