Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: "E2283: Zu viele lokale Konstanten. Verwenden Sie kürzere Prozeduren" Fehler

  Alt 7. Feb 2011, 10:20
Mit wenig Aufwand kann man dann auch noch das .Add(...); in .Text := ... ; ersetzen.
Das würde wohl Probleme machen, denn dann müssten alle Zeilen zu einen einzigen Stringliteral zusammengefügt werden.
Der Compiler verarbeitet aber nur Stringliterale bis zu einer best. Länge (1023, wenn ich mich nicht irre).
Delphi-Quellcode:
.Text := 'blabla'#13#10'blabla2'#13#10'blabla3'#13#10+
'blabla4'#13#10....
Du musst Dich irren

Genau so habe ich es gemacht.
(-> mehr als 1200 Add-Zeilen zu einem String Literal.)

-> Es funktioniert!

Das ist es ja, was mich verwundert hat.
Die Fehlermeldung bedeutet zu viele Konstanten.
Nicht zu viel Inhalt in den Konstanten !!!

[edit]
Anmerkung:
Ich habe gerade mal den Quelltext gecheckt.´
Der String ist 68186 Byte groß (Ansi)
Er belegt also intern ca. 128 kByte als UnicodeString

Damit stimmt auch die Anmerkung von der 64kByte Grenze für Strings nicht. (s.o.)
[/edit]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)

Geändert von MaBuSE ( 7. Feb 2011 um 10:26 Uhr)
  Mit Zitat antworten Zitat