[Bug] ReDim

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

[Bug] ReDim

Beitrag von edel »

Geht nicht

Code: Alles auswählen

Procedure t()
  Protected Dim a(3)
  ReDim a(15)
EndProcedure
t()
Geht

Code: Alles auswählen

Procedure t()
  Global Dim a(3)
  ReDim a(15)
EndProcedure
t()
PB 4.0 b1/b2
Toshy
Beiträge: 713
Registriert: 22.03.2005 00:29
Computerausstattung: Computer und Strom vorhanden
Wohnort: LK Wolfenbüttel

Beitrag von Toshy »

Stimmt.

Folgendes verhalten ist mir aufgefallen(Win98/Beta2):
Structure test
s.s
l.l
b.l
EndStructure

1.:

Global Dim a.test(22000000) ;--> kein Ram wird verbraucht.
delay(5000)
ReDim a.test(1) ; --> jetzt werden kurz ca. 180 MB belegt und dann wieder freigegeben.

2.
Global Dim a.test(22000000) ;--> kein Ram wird verbraucht.
delay(5000)
ReDim a.test(22000001) ; --> es wird KEIN Speicher verbraucht oder kurz belegt

ReDim-Werte zwischen 1 und 22000000 verbrauchen kurz Speicher, aber irgendwie abhängig von der Höhe des Redim-Wertes oder der Differenz. Kann da jemand was zu sagen, damit man planen kann!?

3. Global Dim a.test(23000000) ;--> funktioniert, kein Ram wird verbraucht.
delay(5000)
ReDim a.test(1) ; --> löst "invalid memory acces aus

selbe Ergebnisse auch ohne Global.

Toshy
Antworten