Search code examples
androiddelphifiremonkeydelphi-10.4-sydney

Android's TMemo (Firemonkey) Issue and strange behaviour


Using Tmemo in my application, to allow the user to enter notes, I found that when editing the text or using the backspace key, very strange things happen.

For example, it's not possible to move the cursor to the end of the text, or deleting some letters of a word, in this case, the text will completely replaced by other unexpected words. I posted a video showing this strange behavior.

I don't know if there is a correlation, but it seems that the problem is more pronounced when the text comes from the voice dictation provided by the keyboard, or when the text is composed of words selected by the forecast suggestion of the software keyboard.

This problem was already present in old versions of Delphi (Xe 10.1), but they were solved by modifying some pas files and replacing the calssex file with a new classex.dex found on the net.

Now I'm using Delphi 10.4 Sydney patch3

Tested on

  • Tablet lenovo tb-x606x android 9
  • xioami note 7 andorid 10
  • huawei p20 pro android 10
  • samsung S7 Android 8
  • samsung A40 Android 10

Anyway, I am also attaching the source of a test, where it's possible to see the strange behavior of the Tmemo.

I also opened a ticket on Embarcadero quality support (RSP-31362)

The video (linked here)

The source code (linked here)

I found the same problem in another ticket on Embarcadero quality support RSP-31134


Solution

  • This was a bug in earlier versions of Delphi FMX.

    It is fixed in Delphi 10.4.2 and later.