Martin Altmann hat geschrieben:Rolf,
soweit ich mich erinnere, ist das "normal", da zu viel Speicher in einem Rutsch allokiert werden soll.
Versuch es in kleineren Schritten, in 64-Elemente-Happen z.B...
Das ist nicht ganz richtig.
Das Problem sind nicht die 512 Einträge im Array, sondern die direkte Zuweisung
von aA := {...} 512 Elementen. Ich vermute das haut den Präprozessor auseinander.
So jedenfalls geht es:
Code: Alles auswählen
proc main
local aA := Array(4096) // ich wollte es wissen ;-)
local x, nMaxX := len(aA)
? "OK",nMaxX
for x := 1 to nMaxX
aA[x] := x
next
? "Ende"
endif
falls du jetzt die Integers nicht nochmal eintippen willst, kannst du die kleineren zum Laden nehmen, aber bitte nicht mit add() bei der Menge
Code: Alles auswählen
x := 1
aM1 := {1,2,3,4,5,6,...}
aM2 := {1,2,3,4,5,6,...}
etc.
aeval(aM1,{|nW| aZiel[x] := nW, x++ })
aeval(aM2,{|nW| aZiel[x] := nW, x++ })
etc.
so sollte das am schnellsten gehen ;-)
bei direkter Eingab könnte dir auch das gefallen:
Übrigens wird duch aA := {x,x,x} die vorher erfolgreiche aA := array() wieder aufgehoben !