German dynamisches Array

Mr.Bamba

Member
Licensed User
Kann man von einem Globalen-Struktur-Array die Größe nachträglich ändern?
Folgendes funktioniert nicht.

B4X:
Public Sub Globals
    Dim Type(a,b,c) prgss (0)
End Sub

Public Sub Init   
   Dim prgss (10)  
End Sub

prgss ist dann zwar 10 Elemente groß, die Felder a,b & c gib's aber nicht mehr.
:(
 
D

Deleted member 103

Guest
Hallo Mr.Bamba,

so viel ich weis man kann nicht eine Globale Variable in ein "Sub" nochmal definieren.
In dein Fall ist die Variable "prgss" in dein "Public Sub Init" eine neue Variable.

Ciao,
Filippo
 

Mr.Bamba

Member
Licensed User
nein

eine Variable in Sub ist nur lokal & man kann sie außerhalb der Methode nicht sehen

1. Wenn ich die Variable in "Globals" definieren
2. dann in "Sub Init" über dim vergrößere
3. dann ist sie in einer anderen Methode (Sub) in voller Größe sichtbar

Leider klappt das nur bei einfachen Arrays, nicht bei Strukturierten - da ist die Struktur weg.

Im englischen Forum habe ich so ein einfaches Bsp. gesehen.
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Mr.Bamba,

für eine korrekte Redefinition muss der Befehl
B4X:
Public Sub Init   
   Dim prgss (10, 3)  
End Sub
lauten, d.h. als zweiter Parameter ist die Anzahl der Type-Parameter zu übergeben.
Anschließend hat man eine 10 x 3 Matrix auf die wie gewohnt mit prgss.x, prgss.y und prgss.z zugegriffen werden kann.


Gruß
specci48
 
Top