Was soeine Schleife nun auf den Speicherverbrauch und die Laufzeit für Auswirkungen haben kann/wird, kannst'e dir bestimmt denken?
Ja, unheimlich schlimme, weil man ja bestimmt im Sekundentakt die Markierung in nem RichEdit verändern möchte und das dann tierisch den Speicherverbrauch in die Höhe und die Performance in den Keller treibt...
Und wer ernsthaft ein Programm für Textverarbeitung schreibt, wo dann mal "große" Dokumente geladen sein könnten, wird bestimmt nicht TRichEdit nutzen...
Wie dem auch sei, komischer Weise nutzt diese Komponente intern als Zeilenumbruch die #13 (Mac
), also dachte Emba sich, es ist mal "schlau" und ersetzt "einfach" die #13 mit sLineBreak, beim Auslesen.
Tja, und nun haben wir den Salat ... pro Zeile verschiebt sich der Index.
Nicht, dass der Delphi Sourcecode ein Paradebeispiel für clean Code wäre, aber hätten sie es nicht so gemacht, wäre das ein klarer Verstoß gegen das
Liskov Substitution Principle gewesen, denn TRichEditStrings ist nunmal von TStrings abgeleitet.
P.S. Übrigens...
http://docwiki.embarcadero.com/VCL/d...hEdit.FindText