AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX: TMemo-Undo Bug

Ein Thema von Harry Stahl · begonnen am 17. Apr 2017 · letzter Beitrag vom 17. Apr 2017
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX: TMemo-Undo Bug

  Alt 17. Apr 2017, 00:01
Leider scheint das FMX- TMemo (Delphi 10.2) immer noch Probleme zu haben, insbesondere mit der Undo-Funktion.

Habe festgestellt, dass nach vorherigem Löschen einiger Zeilen und nachfolgendem Undo die mit Memo.lines.count zurückgelieferte Anzahl nicht mehr stimmt und auch einzelne Zeilenabfragen (Memo.caretposition.line).

Da das kaum textlich vernünftig zu erklären ist, habe ich ein kleines, sehr kurzes Video (MP4, ca. 1,8 MB) beigefügt und einen Screenshot vom Demo-Programm, das Ihr bitte selbst testen könnt.

Es wäre nett, wenn mir den Fehler jemand bestätigen würde, ich würde den dann bei EMBA melden.
Miniaturansicht angehängter Grafiken
memobug.jpg  
Angehängte Dateien
Dateityp: zip MemoUndo.zip (6,7 KB, 4x aufgerufen)
Dateityp: zip BugMemo-Video.zip (1,72 MB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX: TMemo-Undo Bug

  Alt 17. Apr 2017, 08:21
Das ist hier auch so, ja.

Und es geht noch weiter:
Das Resize scheint das Problem auch nicht komplett zu beheben. Wenn du Ausschneiden, Undo, Resize machst und dann wieder die 4 Zeilen ausschneidest, wird auch nicht aktualisiert und die Zeilen bleiben schlicht leer.

// EDIT:
Hinter UnDo wird ja FMX.Memo.Style.TEditActionStack.RollBackAction ausgeführt. Dort sieht noch alles richtig aus und es wird FOwner.Model.InsertAfter aufgerufen, wobei der einzufügende String aus mehreren Zeilen besteht, nämlich die ausgeschnittenen Zeilen. Dort wird dann einfach der Zeileninhalt neu gesetzt. Auf den String mit Zeilenumbrüchen drin. Dabei muss dann etwas schief gehen.

Ich habe daraufhin einfach nur eine Zeile mit Zeilenumbrüchen gesetzt. Auch dabei wird die Zeilenanzahl nicht aktualisiert. Es gibt aber keine Grafikfehler.
Delphi-Quellcode:
  Memo1.Lines[4] := 'aaa'#13#10'bbb'#13#10'ccc'#13#10'ddd';
//.
Interessant dabei:
Der Zeileninhalt ist auch wirklich nur in dieser einen Zeile. Mehrfaches Ausführen dieses Codes ändert am Inhalt nichts mehr.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (17. Apr 2017 um 08:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FMX: TMemo-Undo Bug

  Alt 17. Apr 2017, 08:59
OK, danke für das Testen. Werde dann eine Bugreport machen.

Edit: Hier zu finden: https://quality.embarcadero.com/browse/RSP-17870

(hab das Video nochmal kurz in englisch aufgenommen).

Geändert von Harry Stahl (17. Apr 2017 um 09:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz