关于FMX的TMemo控件输入可能出错的问题

土著巫师 2017-08-26 11:56:32
最近使用cb 10.2.1的同学有反馈TMemo控件在ANDROID 7平台输入多行出错的问题:
输入
1
2
3
4
5
控件中显示的是:
1
2
4
3
5
接着在第六行输入6,第七行输入7,本来应显示如下:
1
2
3
4
5
6
7
结果显示的是:
1
2
4
3
6
5
7
但是,在非Android 7系统的手机中,该控件工作却是正常的。

@ALL
我在华为P9 ANDROID7.0平台上发现Berlin Update 2也有类似问题,因为考虑有同学反馈没有发现类似问题,所以花了点时间测试了下,结论很令人沮丧:

这个问题的产生不只是与ANDROID版本有关还与使用的输入法高度相关:

我在华为P9上(ANDROID 7.0)使用华为自带的Android键盘(AOSP)作为默认输入法问题消失,使用华为Swype输入法同样没有问题,但是国内使用量比较大的百度输入法华为版和讯飞输入法都有@titan_ysl 反馈的问题。


希望使用其它输入法的同学反馈更多消息 ,看样子是我们误解了FMX的TMemo控件,谢谢。
...全文
1046 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
titan_ysl 2017-08-30
  • 打赏
  • 举报
回复
这个问题可能要修改 FMX.Memo.Style.pas 这个文件才能解决,这个文件在 Program Files (x86)\Embarcadero\Studio\19.0\source\fmx 下,不知有哪个熟悉Delphi的同学能修改下。
  • 打赏
  • 举报
回复
修改方向是什么?
  • 打赏
  • 举报
回复
这说明该问题是特定版本的输入法造成的,并非TMemo的问题。
土著巫师 2017-08-27
  • 打赏
  • 举报
回复
实测下来又有新发现:华为自带的Android键盘(AOSP)作为默认输入法输入没问题,但是从后端向前逐个删除的时候手机上只按一下X删除按钮,居然一次性删除好几行,乱得很。可能TMemo在7.0上还有改进空间。
土著巫师 2017-08-26
  • 打赏
  • 举报
回复
实测,搜狗输入法也有同样的问题!
大家用惯了BSskin和VCLskin,但是这个跟专业! 支持的开发语言 Borland Delphi 4/5/6 Borland Delphi 7 Borland Delphi 8 Borland Delphi 2005 Borland Delphi 2006 CodeGear Delphi 2007 支持的操作系统 Windows Vista Wndows 2000/XP/2003 Windows NT4.0 Windows Me Windows 98/98SE Windows 95 版本信息 当前版本:3.0 文件大小:24.9MB 更新日期:2006-12-6 下载次数:22670 软件概述 Skin++ For Delphi目前全面支持Delphi4、Delphi5、Delphi6、Delphi7、Delphi8、Delphi2005、Delphi2006。 迄今为止,Delphi支持4种类型的应用程序: 1、VCL Forms Application – Delphi for Win32 (该类型在Delphi4/5/6/7/2005/2006所有版本包含); 2、VCL Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006中包含); 3、Windows Forms Application – C# Builder (该类型在Delphi2005/2006中包含); 4、Windows Forms Application – Delphi for .Net (该类型在Delphi8/2005/2006中包含)。 Skin++对以上4种Delphi程序类型做了全面的支持。 试用版本描述与运行截图 1.在本安装盘中,包含了Delphi的各个版本(D6,D7,D8,D2005,D2006)Skin++测试例子; 2.关于如何使用Skin++,请参考文档《Skin++ For Delphi [All Edition]使用帮助》; 3.要查询Skin++所有的接口,请参考文档《Skin++接口描述》; 4.本安装盘提供一套试用皮肤PixOS.ssk,正式版用户将获得网站上更多更精美的皮肤。并可获得定期更新; 5.Skin++正式版中提供强大的皮肤设计工具Skin++Builder。 该工具完成皮肤所有的设计工作,并可以全自动导入Windows主题、第三方主题; Skin++Builder使用详情请参考《Skin++Builder Help》; 6.案例说明: 我们以Delphi2006 VCL Win32的测试例子为例,描述其组成。 打开\Delphi 2006\VCL Forms Application - Delphi For Win32\目录中的MDIAPP.exe 该例子是一个MDI类型的程序。主窗口部分演示Skin++在MDI方面处理的各个细节。 如:主菜单条、主弹出菜单、系统菜单、工具条、状态条、MDI客户区、MDI子窗口、MDI子窗口最大化后等各个部分的换肤细节。 Skin++ 3.0 可以对皮肤进行动态的色调设置 这个功能可以使您的程序可以瞬间拥有N套色调的皮肤。 更改色调样例1: 我们分以下几个页面对Delphi的全部控件进行了演示: Buttons、Static、Controls with ScrollBar(带滚动条的控件)、Splitter、TabControls、TrackBar & Progress、Misc Controls、Dialog、DataControls 6.1 Buttons 该部分我们演示了Skin++对Delphi的各种类型的按钮进行的换肤支持, 包括BitBtn按钮、SpeedButton、Tbutton、CheckBox、RadioBox 在该部分,还演示了对按钮进行多风格的换肤效果,“Style 2”按钮和其他按钮不同,呈现了其特有样式。 这种效果一般用在网络电话、多媒体软件、网络聊天等需要同时支持多种按钮风格的地方。 每个按钮具有其固定的5中状态:正常、按下、高量、禁用、默认。在该窗体中演示了每种按钮的5中状态。 并且在Skin++ 3.0 中,支持Focus的效果。通过Tab或方向键可以看到焦点在每个按钮上移动。 6.2 Static 该部分演示了Skin++ 对Label、GroupBox、右键菜单、Panel、FlowPanel、GridPanel等控件的支持。 值得一提的是,Skin++对Label的支持是彻底,并且不像其他的换肤软件需要在窗体上放置一个

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧