Wie kann ich die maximale Textlänge in einem TRichEdit erhöhen?
Wenn ich zu einem RichEdit mittels Lines.Add Zeilen hinzufüge, ist irgendwann Schluß.
Hat auch die TRichEdit-Komponente (wie TMemo) eine Maximallänge?
Im Prinzip nicht. Die Längenbeschränkung bei TRichEdit ist jedenfalls jenseits
normalerweise nutzbarer Grenzen. Die RichEdit-Komponente besitzt aber wie auch TMemo und
TEdit die Eigenschaft MaxLength, die die maximale Textlänge begrenzt.
Per Voreinstellung hat diese immer den Wert "0". Das wird sowohl für TEdit und
TMemo, als auch für TRichEdit als Maximalgröße von 32 Kilobyte interpretiert.
Nach der Erstellung kann ein RichEdit also erstmal nicht größer werden, als ein TMemo.
Während bei diesem die 32kB aber bereits den höchtmöglichen Wert darstellen (zumindest
bis Delphi 3), kann man der MaxLength-Eigenschaft der RichEdit-Komponente einfach einen
höheren Wert zuweisen:
RichEdit1.MaxLength := 2147483647; // damit kann das Teil 2^31 Byte groß werden.
Über den maximalen Wert für MaxLength besteht bei mir allerdings Unklarheit.
Maxlength ist als "integer" definiert und kann somit eben als höchsten Wert
2^31 annehmen. Mit der EM_EXLIMITTEXT-Nachricht kann man dem Ding aber Maximalgrößen
zuweisen, die als "dword" definiert sind und damit als höchsten Wert 2^64
annehmen können...
Vorsicht, TRichEdits mit sehr großen Texten neigen zu schneckenhaftem Verhalten!
Delphi 1 | Delphi 2 | Delphi 3 | Delphi 4 |
nicht getestet | Version nicht betroffen | getestet |
siehe auch:
Wie ermittle ich in einem TMemo (oder TRichEdit) die Cursorposition?
Wie kann ich zu einer bestimmten Zeile eines TMemo (order TRichEdit)
scrollen?
Wie fügt man an einer bestimmten Position Text in ein TMemo (order
TEdit, TRichEdit) ein?
Wie kann ich den blinkenden Cursor in einem deaktivierten TMemo (oder
TEdit) verstecken?