Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 09.04.2010, 22:34 Titel: Array-Dimension bei DIM array() |
|
|
Gibt es eine Möglichkeit herauszufinden, ob ein Array nur als array() oder bereits als array(0) definiert ist? Beide male liefert U- und LBOUND den Wert 0.
Hintergrund: Ich möchte in einer SUB ein mitgegebenes Array von LBOUND bis UBOUND durchlaufen, und bei einem leeren Array gibt es eine segmentation violation.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 09.04.2010, 22:41 Titel: |
|
|
Hallo,
der Anfangspointer auf das Array müsste, wenn es noch nicht initialisiert ist, immer 0 sein, denke ich. Das kann man dann überprüfen:
Code: | Dim x() As Integer
Dim y(0) As Integer
Print "LBOUND(x) = " & LBound(x)
Print "UBOUND(x) = " & UBound(x)
Print
Print "LBOUND(y) = " & LBound(y)
Print "UBOUND(y) = " & UBound(y)
Print
Print "@x = " & @x(LBound(x)) '<====
Print "@y = " & @y(LBound(y))
Print
If @x(LBound(x)) = 0 Then Print "Array x ist leer!"
If @y(LBound(y)) = 0 Then Print "Array y ist leer!"
Sleep |
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 09.04.2010, 22:47 Titel: |
|
|
Scheint zu funktionieren. Danke schön.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|