Hier ein kleines Beispiel, das mein Problem schildert und scheinbar nur bei Listen in Listen auftritt, die außerdem Strings sind.
Code: Alles auswählen
Structure Bla
s.s
List sub.s()
EndStructure
NewList a.Bla()
For i.i = 1 To 3
If AddElement(a())
a()\s = str(i)
For j.i = 1 To 2
If AddElement(a()\sub())
a()\sub() = str(i) + ":" + str(j)
EndIf
Next
EndIf
Next
ForEach a()
Debug "Doing this with '" + a()\s + "'?"
ForEach a()\sub()
Debug " - '" + a()\sub() + "'"
Next
NextWie man sieht steht der String " -'" immer doppelt am Anfang der Ausgabe der inneren String-Liste.Debugger hat geschrieben:Doing this with '1'?
- ' - '1:1'
- ' - '1:2'
Doing this with '2'?
- ' - '2:1'
- ' - '2:2'
Doing this with '3'?
- ' - '3:1'
- ' - '3:2'
Das ganze passiert so unter Ubuntu 9.10 x64, aber ich denke mit Betriebssystem oder System hat dieser Fehler wenig zu tun. Ich könnte mir vorstellen bei einer weiteren inneren Liste, wird der String " -'" dreimal davor gestellt, usw. Wird also ein kleines Rekursionsproblem sein.
///Edit:
Hier übrigens noch die temporäre Lösung für das Problem:
Code: Alles auswählen
ForEach a()
Debug "Doing this with '" + a()\s + "'?"
ForEach a()\sub()
t.s = a()\sub()
Debug " - '" + t + "'"
Next
Next