Domino 9 und frühere Versionen > ND8: Entwicklung
LotusScript: List
pram:
Ein "String literal" ist aber keine String-Variable, sondern eine Zeichenfolge die mit " " (oder {}, | | ) eingeschlossen im Programmcode steht. Und diese haben eine begrenzte Länge. Man bekommt auch nur eine begrenzte Gesamtanzahl an Strings in eine Script-Bibliothek. Beim Speichern erscheint dann "not enough string space"
Wie oben schon geschrieben, sind Strings relativ "unbeschränkt". Folgender Code
--- Code: ---Sub Initialize
Dim s As String
Dim c As long
For c = 1 To 100000
s = s + " "
Next
Print Len(s)
End Sub
--- Ende Code ---
gibt nach ein paar Sekunden 100000 aus (womit die 32/64k Grenze widerlegt wäre)
--- Zitat von: thkn777 am 07.09.15 - 13:49:00 ---Achtung - persönliche Paranoia: Ich würde alles, was über 240 Zeichen hinausgeht, aber mal in Ruhe testen. Ebenso Spezial- und Sonderzeichen.
--- Ende Zitat ---
Hier kann ich nur zustimmen, insbesondere Umlaute werden oft anderes behandelt als vermutet (vor allem mit türkischer Locale ;D )
Gruß
Roland
thkn777:
Nach Durchlauf 27 kommt "Out Of String Space" ;)
Um die ursprüngliche Frage zu beantworten: SEHR lang.
--- Code: ---Option Public
Option Declare
Dim l As Long
Dim i As Long
Dim s As String
Dim myList List As String
Sub Initialize
i = 0
l = 0
s = "A"
While i<30
Stop
l = Len(s)
myList(s) = CStr(l)
ForAll ele In myList
Print CStr(i) & " --> " & CStr(Len(ListTag(ele))) & " / " & myList(ListTag(ele))
End ForAll
i = i + 1
s = s + s
Wend
End Sub
--- Ende Code ---
rambrand:
Mein Mathe-Abi war mieserabel, aber irgendwo zwischen 67.108.864 und 134.217.728 Zeichen?
Bye,
Markus
pram:
Bei genug Ram schafft es mein Client bis Durchgang 28 (nlnotes braucht dann 1.8GB) und der Server (64bit) bis 30 mit "String too large" beim Versuch in der Zeile "s = s + s" einen String mit 2GB zu erzeugen.
Der namgr Prozess braucht dann aber auch 6,5GB
--- Zitat ---[0E70:000A-2288] 07.09.2015 15:35:27 Agent Manager: Agent printing: 30 --> 536870912 / 536870912
[0E70:000A-2288] 07.09.2015 15:35:32 Agent Manager: Agent printing: 30 --> 1073741824 / 1073741824
[0E70:000A-2288] 07.09.2015 15:35:32 Agent Manager: Agent printing: String too large
--- Ende Zitat ---
Die Notes-Hilfe behauptet aber immer noch etwas anderes:
--- Zitat ---Run-time Error Messages: String too large
A string is generated at run-time that exceeds the size limit of 32,000 characters.
--- Ende Zitat ---
(wobei sich IBM ja dann gerne auf sowas raus redet, wenn es bei Zeichen > 32000 zu Problemen kommt)
Gruß
Roland
thkn777:
Nunja... effektiv wird der ListTag aller Wahrscheinlichkeit nach kleiner 32k sein. FALLS er in einem Notes-Dokument und einem Text-Item abgespeichert ist, wovon ich aktuell ausgehe...
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln