Array Inhalte schnell freigeben.

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

AL90

Betreff: Array Inhalte schnell freigeben.

BeitragSo, Okt 09, 2005 1:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Wie kann man am besten ArrayInhalte schnell freigeben?
Also ich meine damit einen VariablenArray (Long) mit 0-werten
füllen. Über For/Next schleifen läuft das viel zu langsam.
Unter BB kann ich bspw. einfach mit Dim neu dimensionieren,
aber unter BM klappt das irgendwie nicht bei mir. Da rödelt
die platte wie verrückt und die laufzeit wird um ein vielfaches höher.
Weis jemand wie's geht? Bin für jeden tipp dankbar. Wink
Ciao
AL90

www.blitztools.de.vu

Jolinah

BeitragSo, Okt 09, 2005 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
altes_array = new Long[grösse]


Wink Das alte Array ist dann nicht mehr referenziert und müsste beim nächsten Flushmem verschwinden. Und neue Arrays werden bei Zahlen soviel ich weiss automatisch mit 0 initialisiert.

TheShadow

Moderator

BeitragSo, Okt 09, 2005 10:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Local array:Int[1000]
Print array.length

array=Null '<<<muss nicht sein - setzt array auf 0 Länge
Print array.length

array=array[..10000] 'vergrößert es wieder...
Print array.length

MemClear(Byte Ptr(array),10000*4) ' löscht Inhalt...
Print "OK"
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Ava

Gast

BeitragSo, Okt 09, 2005 15:30
Antworten mit Zitat
TheShadow hat Folgendes geschrieben:
array=array[..10000] 'vergrößert es wieder...


Das funktiioniert allerdings leider nur bei 1-dimensionalen Arrays. Confused
Hast Du mehrere Dimensionen, dann musst Du (zb) array:long = new long[64,64] machen.
Mit einem 1-dimensionalen kannst Du das natürlich auch so machen, dann funktionierts genau wie beim alten Dim. Smile

AL90

BeitragSo, Okt 09, 2005 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
So habs jetzt (endlich ) hinbekommen. Danke für eure hilfe. Wink
Ciao
AL90

www.blitztools.de.vu

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group