![]() |
Re: Lokale Konstanten in D2009 begrenzt?
Kann es sein, daß unter D2009 die Konstanten aufgrund des Unicode länger sind und du somit an eine Grenze gestoßen bist?
(man könnte ja mal versuchen in den alten Delphi-Versionen entsprechend mit doppelt so langen Stringkonstanten zu testen :gruebel: ) diese typisierten Stingkonstanten haben intern ja mehr den Charakter von Variablen |
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
Bei Delphi 1 + 2 gab es die Beschränkung auf 255 Zeichen. Von D3 bis D2007 gab es die Beschränkung nicht. Jetzt gibt es diese wohl wieder. Mein Programm ist nur durch Neukompilierung unter D2009 von 4,5 auf 6.4 MByte, also fast 2 Mbyte angeschwollen. Gruß Peter |
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
|
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
Probiere es doch einfach aus, wenn Du meinst den Besserwisser spielen zu müssen.
Delphi-Quellcode:
const
H1 = '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'+ '1234567890123456789012345678901234567890123456789012345678901234567890'; procedure Test(t : String); begin showmessage(inttostr(length(t))); end; Unter D7 bis D2007 wird eine Länge von 1400 angezeigt und unter D2009 kommt ein Fehler. Peter |
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
|
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
Probier es doch selber mal, mit dieser 300-Zeichen-Konstante :angel2:
Delphi-Quellcode:
[edit]Zeileiumbrüche eingefügt, um das DP-Design nicht weiter zu zerstören ... diese müsten beim Probieren entfernt werden
H1 = '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'; |
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
Ich habe nach der Konstantenlänge, im Zusammenhang mit einer in D2009 neu aufgetauschten und nicht dokumentierten Fehlermeldung, gefragt und nicht nach der maximalen Länge einer Quellzeile. Diese sollte man ohnehin im Interesse der Lesbarkeit auf 80 bis 120 Zeichen begrenzen. Taucht in einer Konstantendefinition am Ende der Anweisung das "+" auf, dann wird die Konstante zur Compilerzeit zusammengefügt. Da dies zur Compiler- und nicht zur Laufzeit erfolgt, käme z.B. mit Resourcenstrings eine Fehlermeldung. Da ich seit TP 1.0 bereits professionell mit Pascal programmiere, sollte mir der Unterschied zwischen Codezeilen- und Konstantenlänge zwischenzeitlich klar sein. Peter |
Re: Lokale Konstanten in D2009 begrenzt?
Kannst du nicht ein komplettes Beispiel zum Testen nachhängen? Wenn bei toms dein Codeauszug kompilierbar ist, ist es doch kein generelles Problem. Evtl. irgendwelche Compilereinstellungen oder Defines.
|
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
Wegbekommen habe ich diesen erst mal indem ich aus allen Konstanten typisierte Konstanten gemacht habe. Im Moment bin ich auch erst mal wieder auf D2007 zurück gegangen, da es noch mehr Probleme bei der Umstellung gibt und ich mich noch nicht mit der Tatsache anfreunden kann, das ein Programm durch Neucompilieren etwa ein Drittel größer wird. Gruß Peter |
Re: Lokale Konstanten in D2009 begrenzt?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz