![]() |
Trichedit BUG seit D2009
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe ein Problem mit TRichEdit und SelStart. Mit SelStart bestimme ich die Cursorposition und setzte auch den Cursor. Seit der D2009-Version werden vermutlich die Zeilenumbrüche <lf><cr> nicht mehr mit der Länge 2 gezählt, sondern nur noch mit 1. Probleme kommen dann auch bei den Funktionen length, pos, insert und copy auf. Gibt es eine einfache Lösung dafür? Kleines Beispiel: D7-->okay D2009-->falsch siehe Anhang
Delphi-Quellcode:
unit bug;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) RichEdit1: TRichEdit; Button1: TButton; Button2: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin richedit1.SetFocus; richedit1.text:='Hello world'; richedit1.SelStart:=length(richedit1.text); label2.Caption:=inttostr(richedit1.SelStart); label3.Caption:=inttostr(length(richedit1.Text)); end; procedure TForm1.Button2Click(Sender: TObject); begin richedit1.Text:=richedit1.Text+#13+#10+'Hello world'; richedit1.SelStart:=length(richedit1.text); label2.Caption:=inttostr(richedit1.SelStart); label3.Caption:=inttostr(length(richedit1.Text)); end; end. |
Re: Trichedit BUG seit D2009
prüf mal, ob Length(sLineBreak) zufällig 1 ist.
Wenn ja, dann kannst du über Length(sLineBreak) den Zeilenumbruch entsprechend einberechnen. |
Re: Trichedit BUG seit D2009
sorry, die Konstante ist als #13#10 definiert und hat die Länge 2.
Die wichtigste Änderung mit D2009 ist die Unterstützung von unicode. Ist die Komponente vieleicht nicht sauber zu unicode portiert? Meine Migration von D2007 zu D2009 hat mich viel Zeit gekostet. Langsam habe ich das Gefühl, das Delphi mit Gewalt an die Wand gefahren wird. Ausser das der Objektinspektor die Eigenschaften wieder alphabetisch sortiert macht der Umstieg nur Probleme. grüsse RoBu |
Re: Trichedit BUG seit D2009
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz