Alcinoe icon indicating copy to clipboard operation
Alcinoe copied to clipboard

[BUG] TALEdit don't draw text value

Open maurobotta opened this issue 10 months ago • 47 comments

Hi @Zeus64 , i have a important bug from much time, i have make a video.

Every time i open my Edit ( TALTabControl + TAlTabItem + TALVerticalScrool + TALRectangle + TALEdit.. ) i see my TALEdit empty.

if i press mouse inside or click on External form then the ALText are draw.

Thank you.

Alcinoe last version

Mauro

https://github.com/user-attachments/assets/ce535ad0-b291-438b-878c-7d85998531f2

maurobotta avatar Mar 31 '25 10:03 maurobotta

Is it possible for you to create a sample test app to showcase the bug so i can work on it ?

Zeus64 avatar Mar 31 '25 11:03 Zeus64

Operating System with bug are: Android and Windows ,

iPhone Not Tested.

maurobotta avatar Mar 31 '25 11:03 maurobotta

not understand ?

Zeus64 avatar Mar 31 '25 11:03 Zeus64

i'm working with showcase ( is not easy ) .

In my project i may have Any Visual component enabled = False or Visible = False ad designe time.

maurobotta avatar Mar 31 '25 11:03 maurobotta

Ok, thanks for your help! would be very great if you can make a simple showcase app so i can work on it

Zeus64 avatar Mar 31 '25 11:03 Zeus64

update:

  • iOS have same bug.

  • my workaround edit.setFocus ( + Abort ShowKeyboard ) for all TALEdit, resolve the bug.

maurobotta avatar Mar 31 '25 13:03 maurobotta

p.s.

Another question or request, when i press TALEdit with inside text ( 'ABC DEF XYZ' ) , the first time, cursor is in the LEFT side of text, left of 'A' , can i have cursor a Rigth of 'Z' ?

This is is not optimal for me, i need press 2' time for have a right the cursor.

maurobotta avatar Mar 31 '25 14:03 maurobotta

p.s.

Another question or request, when i press TALEdit with inside text ( 'ABC DEF XYZ' ) , the first time, cursor is in the LEFT side of text, left of 'A' , can i have cursor a Rigth of 'Z' ?

This is is not optimal for me, i need press 2' time for have a right the cursor.

normally it's on the right of "Z", can you look in the alfmxcontrols demo ? in my device the cursor is always on the right of Z

Zeus64 avatar Mar 31 '25 14:03 Zeus64

open ALFmxControlsDemo.dproj , search ALEdit1 , set in TEXT property : 'ABC DEF XXXXXXXXXXYZ'

compile Android 64 cursor appear on the LEFT of 'A' .

ScreenShot don't show a Cursor :) see RED Line for Cursor zone.

Image

maurobotta avatar Mar 31 '25 14:03 maurobotta

perfect thanks i will study it

Zeus64 avatar Mar 31 '25 14:03 Zeus64

Is possible have the Cursor size more BIG ? :)

maurobotta avatar Mar 31 '25 14:03 maurobotta

This I don't think the OS (android or iOS) offer this option :(

Zeus64 avatar Mar 31 '25 15:03 Zeus64

Hi @Zeus64 ,

See Image 1: "FMX..." Edit the vertical | cursor is visible without zoom the image ( it is a TEDIT component ).

See Image 2 : "ABC DEF.." Edit is a TALEDIT che vertical cursor ( blink !! ) is not visible.

WhatsApp have a very Big cursor green :-)

FMX Edit and WhatApp Edit use a cursor 3 times more LARGE.

fmx - Visible Cursor - iMAGE 1

Image

ALCI - NOT Visible Cursor WITHOUT ZOOM IMAGE- IMAGE 2

Image

maurobotta avatar Apr 01 '25 09:04 maurobotta

perfect thanks I will work on it

Zeus64 avatar Apr 01 '25 09:04 Zeus64

@Zeus64

--- k, thanks for your help! would be very great if you can make a simple showcase app so i can work on it

YES

See video , and a zip with your demo modified with BUG

MAIN VIDEO: https://github.com/user-attachments/assets/724e5abf-6b7b-44b8-a2bc-c89224ef1635 . . . . . 2' Video test https://github.com/user-attachments/assets/6a6f31a0-d7a5-4069-8203-7f8bb0e9bb6d

maurobotta avatar Apr 01 '25 12:04 maurobotta

The Bug in short.... when press on "NEW" button , generate new field value, the Top TALEDIT not view the new date time value, only when i click inside ( + Click External EDIT ) work fine.

p.s. May be TALEdit Standard work fine, but these code here under HAVE THE BUG. This component i have get it from your ALFmxControlsDemo example.

object ALEdit21_BUG_BIG_TOP_1: TALEdit Align = Top LabelText = 'Cliente' LabelTextSettings.Font.Size = 13.500000000000000000 LabelTextSettings.Font.Color = xFF465A69 LabelTextSettings.Margins.Top = -4.500000000000000000 LabelTextSettings.Margins.Bottom = 4.500000000000000000 LabelTextSettings.Layout = Inline Margins.Left = 8.000000000000000000 Margins.Top = 10.000000000000000000 Margins.Right = 8.000000000000000000 Padding.Top = 13.500000000000000000 Position.X = 8.000000000000000000 Position.Y = 10.000000000000000000 PromptTextColor = xFF465A69 Size.Width = 317.000000000000000000 Size.Height = 61.500000000000000000 Size.PlatformDefault = False StateStyles.Disabled.LabelTextSettings.Inherit = False StateStyles.Disabled.LabelTextSettings.Font.Size = 13.500000000000000000 StateStyles.Disabled.LabelTextSettings.Font.Color = xFFA9AEB1 StateStyles.Disabled.PromptTextColor = xFFA9AEB1 StateStyles.Disabled.SupportingTextSettings.Inherit = False StateStyles.Disabled.SupportingTextSettings.Font.Size = 13.500000000000000000 StateStyles.Disabled.SupportingTextSettings.Font.Color = xFFA9AEB1 StateStyles.Disabled.TextSettings.Inherit = False StateStyles.Disabled.TextSettings.Font.Color = xFFA9AEB1 StateStyles.Disabled.Opacity = 1.000000000000000000 StateStyles.Disabled.Stroke.Color = xFFE3E5E6 StateStyles.Disabled.Stroke.Thickness = 1.120000004768372000 StateStyles.Disabled.Stroke.Inherit = False StateStyles.Hovered.StateLayer.XRadius = 9.000000000000000000 StateStyles.Hovered.StateLayer.YRadius = 9.000000000000000000 StateStyles.Focused.StateLayer.XRadius = 9.000000000000000000 StateStyles.Focused.StateLayer.YRadius = 9.000000000000000000 StateStyles.Focused.Stroke.Color = xFF1D65C1 StateStyles.Focused.Stroke.Thickness = 1.120000004768372000 StateStyles.Focused.Stroke.Inherit = False StateStyles.Transition.Duration = 0.200000002980232200 Stroke.Color = xFFDEE3E9 Stroke.Thickness = 1.120000004768372000 SupportingTextSettings.Font.Size = 13.500000000000000000 SupportingTextSettings.Font.Color = xFF465A69 SupportingTextSettings.Ellipsis = '' SupportingTextSettings.Margins.Top = 4.500000000000000000 SupportingTextSettings.Layout = Inline TabOrder = 391 Text = 'BUG DEF 1' TextSettings.Font.Color = xFF1C2B33 TintColor = xFF1C2B33 XRadius = 9.000000000000000000 YRadius = 9.000000000000000000 object ALImage26: TALImage Align = Left BackgroundColor = xFF545454 Margins.Right = 16.000000000000000000 Position.X = 8.000000000000000000 Position.Y = 13.500000000000000000 Size.Width = 60.000000000000000000 Size.Height = 40.000000000000000000 Size.PlatformDefault = False end object ALImage27: TALImage Align = Right BackgroundColor = claGray Position.X = 269.000000000000000000 Position.Y = 13.500000000000000000 Size.Width = 40.000000000000000000 Size.Height = 40.000000000000000000 Size.PlatformDefault = False end end

bug_Alci_mauro.zip

maurobotta avatar Apr 01 '25 12:04 maurobotta

Hi @Zeus64

The bug is TALEdit "LabelText" property.

if is empty work fine all.

maurobotta avatar Apr 03 '25 09:04 maurobotta

i will get a look a it, thhanks 👍

Zeus64 avatar Apr 03 '25 16:04 Zeus64

Hi @Zeus64 , good work for TALPageController, i will try next week :-)

This is list of all required of this post for more easy read.

  • TALEdit - more large cursor edit
  • TALEdit - Fix bug LabelText property
  • TALEdit - cursor at Rigth

Thank you, again 👍

Mauro

maurobotta avatar Apr 10 '25 09:04 maurobotta

hello can you try with the last version in the repository if it's correct all your problems ?

Zeus64 avatar May 19 '25 19:05 Zeus64

hello can you try with the last version in the repository if it's correct all your problems ?

Hi @Zeus64 i'm downloading now...

p.s. is possible have VISIBLE property of TALPageView ? for example i have 10 TALPageViews but only 3 is used always

maurobotta avatar May 20 '25 08:05 maurobotta

If i understand, you want to have 10 Page View inside on page controller, but let the user swipe only on 3 of them? because page view are visible only when they are active

Zeus64 avatar May 20 '25 08:05 Zeus64

Any small problems of New install.

  1. i need always skip DEMOS E TEST.

  2. MSBuild CodeProfiler.dproj /p:config=Release /p:Platform=Win64 /t:Build Microsoft (R) Build Engine versione 4.8.9032.0 [Microsoft .NET Framework versione 4.0.30319.42000] Copyright (C) Microsoft Corporation. Tutti i diritti riservati.

Embarcadero Delphi for Win64 compiler version 36.0 Copyright (c) 1983,2025 Embarcadero Technologies, Inc. Main.pas(6): error F2613: Unit 'dxUIAClasses' not found. [V:\DelphiXE12\VCL\ALCINOE_D122\Tools\CodeProfiler_Source\CodeProfiler.dproj]

  1.   {$IFNDEF ALDPK}
     function IsVisibleObject(const AObject: TControl): Boolean; override;            ERROR HERE 15 lines of code
     {$ENDIF}
    

i need change to

 {$IFDEF ALDPK}
    function IsVisibleObject(const AObject: TControl): Boolean; override;          
    {$ENDIF}

I'm testing app now.

maurobotta avatar May 20 '25 08:05 maurobotta

Se ho capito bene, vuoi avere 10 visualizzazioni di pagina all'interno del controller di pagina, ma consentire all'utente di scorrere solo su 3 di esse? Perché le visualizzazioni di pagina sono visibili solo quando sono attive.

The problem is Delphi FMX call all code events ( change... ) of Text / memo for ALL TALPageViews are visible.

I can't optimize form create without VISIBLE property of TALPageViews.

I WAS set any TALTabs to Visible False for a avoid errors where event code is called unnecessarily.

maurobotta avatar May 20 '25 08:05 maurobotta

could you on each TALPageViews put a TALLayout with align = client and on this layout put all your controls? then you only need to set this layout.visible := False / true like you did before ?

adding visible to TALPageView is more complicated that you think because when you swipe, do i need to show TALPageview with visible = false or to skip them ? on flutter for exemple when pageview.visible = false, use can't swipe on it.

Zeus64 avatar May 20 '25 08:05 Zeus64

  1.   {$IFNDEF ALDPK}
     function IsVisibleObject(const AObject: TControl): Boolean; override;            ERROR HERE 15 lines of code
     {$ENDIF}
    

i need change to

 {$IFDEF ALDPK}
    function IsVisibleObject(const AObject: TControl): Boolean; override;          
    {$ENDIF}

I'm testing app now.

I do not understand why you need this ? could you show me exactly the error message you have ? because IsVisibleObject is not used at all under ALDPK (the delphi package).

Zeus64 avatar May 20 '25 09:05 Zeus64

PAS: Alcinoe.FMX.PageController.pas and Alcinoe.FMX.Layouts.pas

Image

maurobotta avatar May 20 '25 09:05 maurobotta

Update to last build of today:

This is list of all required of this post for more easy read.

TALEdit - more large cursor edit - Don't work TALEdit - Fix bug LabelText property - Don't work TALEdit - cursor at Rigth - Don't work

maurobotta avatar May 20 '25 09:05 maurobotta

Quote: adding visible to TALPageView is more complicated that you think because when you swipe, do i need to show TALPageview with visible = false or to skip them ? on flutter for exemple when pageview.visible = false, use can't swipe on it.

For me is skip the not visible page, always. . . . i love Flutter.

maurobotta avatar May 20 '25 09:05 maurobotta

. . . i love Flutter.

Yes but as it's developed by google i try to stay far away from it :)

Zeus64 avatar May 20 '25 09:05 Zeus64