ich muß CSV-Dateien auslesen und brauche dafür zwei Arrays.
Bei der Dimensionierung habe ich jeweils 100 Mio. eingeben.
Dabei ist mir aufgefallen das direkt beim ersten Eintrag im zweiten Array
Code: Alles auswählen
Array2(x_4)\Id = ValQ(StringField(String, 1, ";"))
Ich hab Tagelang nach dem Fehler gesucht, bis ich die Dimensionierung
auf 10 Mio. reduziert habe und der Code läuft "Simsalabim" ohne Probleme durch.
Komisch ist nur das ich erstens 2Gb Speicher hab und zweitens die
Fehlermeldung sofort kommt ohne das ein einziger Eintrag ins Array
geschrieben wurde. Deshalb wollte ich Fragen in wie weit Array's begrenzt sind, in der Hilfe steht leider auch nichts dazu.
Folgender angepasster Code erzeugt die Fehlermeldung (bei 10 mio. läufts):
Code: Alles auswählen
Structure Cat
ID.q
String.s
EndStructure
Dim Array1.cat(100000000)
Dim Array2.cat(100000000)
x_2 = 0
While x_2 <> 10
String.s = "1123;Weitere zeichen;kjhyxkjchykxjchykjch"
Array1(x_2)\Id = ValQ(StringField(String, 1, ";"))
Array1(x_2)\String = Mid(String, FindString(String, ";", 0) + 1, Len(String))
x_2 = 1 + x_2
Wend
x_2 = x_2 -1
x_4 = 0
While x_4 <> 10
String.s = "1123;Weitere zeichen;kajshdkjashdaksj"
Array2(x_4)\Id = ValQ(StringField(String, 1, ";"))
Array2(x_4)\String = Mid(String, FindString(String, ";", 0) + 1, Len(String))
x_4 = 1 + x_4
Wend
x_4 = x_4 -1