Thema: Delphi Trichedit BUG seit D2009

Einzelnen Beitrag anzeigen

RoBu

Registriert seit: 22. Jan 2009
4 Beiträge
 
Delphi 2009 Enterprise
 
#1

Trichedit BUG seit D2009

  Alt 22. Jan 2009, 12:56
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.
Angehängte Dateien
Dateityp: zip bug_131.zip (475,7 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat