Domino 9 und frühere Versionen > ND6: Entwicklung
[LotusScript]: split -> String too large Fehler
flaite:
Hi,
wir haben hier ein Rätsel.
--- Code: ---Sub Querysave(Source As Notesuidocument, Continue As Variant)
Const valT = "aaa~~~~111"
res = Split (valT, "~~~")
For i = 0 To Ubound(res)
Print "res(" + Cstr(i) + ")=" + res(i)
Next
Continue = False
End Sub
--- Ende Code ---
Als Split Trenner sind 3 ~. Im String selber gibts aber 4 ~ nacheinander. Notes reagiert mit einer Fehlermeldung: String too large.
Ist darüber etwas bekannt?
Danke
Axel
koehlerbv:
Das Rätsel habe ich jetzt auch, Axel. Erstes Rätsel: res und i sind nicht deklariert ;D
Aber Spass beiseite: Bis zu
Const valT = "aaa~~~111"
res = Split (valT, "~~")
(oder im String vier, im Split zwei Mathilden) läuft alles wie erwartet (und erzeugt bis zu vier Stings), aber dann knallt es. Ich kann hier auch noch keinen mathematischen Zusammenhang erkennen, warum da etwas überlaufen sollte.
Bernhard
MiFi:
Hallo Axel,
das Problem liegt in den vier "~~~". Lotus kriegt da die Füsse durcheinander, weil diese vier "~~~~" gleich mehrfach in sich geplittet werden würden. (Notes ist halt doof).
Eine Frage:
warum hast du einen Delimiter mit "~~~~" splittest aber dann mit "~~~"
Gruß
Michael
koehlerbv:
--- Zitat von: MiFi am 24.10.07 - 18:05:50 ---... das Problem liegt in den vier "~~~". Lotus kriegt da die Füsse durcheinander, weil diese vier "~~~~" gleich mehrfach in sich geplittet werden würden. (Notes ist halt doof).
--- Ende Zitat ---
Diese nassforsche Aussage musst Du jetzt erläutern, Michael (willkommen bei AtNotes!). 3/2 geht, 4/2 auch, aber nicht 4/3? Wo wird da welcher String zu gross??
Bernhard
MiFi:
Hallo Bernhard,
wiso kann ich Dir auch nicht sagen, ich hatte aber das Problem schon öfters und konnte es nur dadurch vermeiden, indem ich solches splitten umgangen bin. Ich denke entweder ist die Message total daneben, oder Notes splittet sich zu tode, weil er die Zeichenfolge innerhalb des Delimiters mehrfach findet. (Ist aber wieder nicht logisch zu Suche mit 2) Es ist für mich keine Regel zu erkennen.
In eurem Beispiel:
Bei 4 und Suche mit 2 bekommt man ein Array mit 3 OK
Bei 6 und Suche mit 2 bekommt man aber ein Array mit 5 ??
Ich habe aufgegeben das zu verstehen und benutze eindeutige Trenner für meine Strings die ich dann zerlegen will.
Erläuterst Du mir bitte "nassforsche" ???
Gruß
Michael
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln