Selber per
WinAPI auf das Richedit zugreifen und nicht über die Property/Methoden des TRichEdit
oder selber umrechnen.
Im Prinzip mußt du nur die Zeilen/Zeilenumbrüche vor der Position im Richedit zählen und dann diese Zahl nochmal auf die Position draufrechnen.
ZähleZeilenmbrüche(Start bis SelStart-1) = Offset für SelStart
ZähleZeilenmbrüche(SelStart bis SelStart+SelLength) = Offset für SelLength
Das ist für Position im im RichEdit auf Position Delphi-Text umrechnen.
Nur Andersrum ist es schwerer, also für Position Delphi-Text auf Position im im RichEdit umrechnen.
Da man dort vorausschauen rechnen muß. Wenn der berechnete Offset weitere Zeilenumbrüche trifft, muß man die ebenfalls wieder mit einberechnen usw.
Ein Therapeut entspricht 1024 Gigapeut.