Seite 1 von 1

Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 21:30
von OrangeJuice
Kann man ein Array innerhalb einer Struktur Redimmen?
Das hier scheint nicht zu funktionieren:

Code: Alles auswählen

Structure _block
  tile.l
EndStructure

Structure _field
  blocklist._block[5]
EndStructure

Global TestField._field
ReDim TestField\blocklist(10)

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 21:37
von STARGÅTE
ReDim ist nur für "echte" Arrays, du benutzt da aber feste Arrays.

Code: Alles auswählen

Structure _block
  tile.l
EndStructure

Structure _field
  Array blocklist._block(5)
EndStructure

Global TestField._field
ReDim TestField\blocklist(10)

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 23:12
von OrangeJuice
Kann man denn "echte" arrays in einer struktur verwenden?

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 23:14
von STARGÅTE
Na sicher (zumindest seit Version 4.50).

Das "echte" Array liebt dabei nur als Pointer in der Struktur, somit kann es vergrößert werden.

Die andere Variante wäre ja komplett in der Struktur.

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 23:30
von OrangeJuice
Hm, aber weder das

Code: Alles auswählen


Structure _field
  Dim blocklist._block(10)
EndStructure

noch das

Code: Alles auswählen


Structure _field
  blocklist._block(10)
EndStructure
funktioniert.

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 22.08.2010 23:45
von STARGÅTE
Bereits in meiner ersten Antwort habe ich dir den Code gegeben der richtig ist:

Code: Alles auswählen

Structure _block
  tile.l
EndStructure

Structure _field
  Array blocklist._block(5)
EndStructure

Global TestField._field
ReDim TestField\blocklist(10)
Es wird mit Array initialisiert ... Dim ist nur bei Arrays außerhalb von Strukturen ...

Re: Array innerhalb einer Struktur ReDimmen?

Verfasst: 23.08.2010 01:42
von OrangeJuice
F**K sorry, das habe ich übersehen, habe mich schon gewundert warum du den source quotest. Muss wohl am Schlafmangel liegen.

Vielen dank für die Hilfe.