[nicht möglich]Mehrdimensionales Array dynamisch zuweisen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

surfhai
**
Beiträge: 28
Registriert: Di, 17.08.2004 08:42

[nicht möglich]Mehrdimensionales Array dynamisch zuweisen

Beitrag von surfhai »

Hallo,

Ich möchte ein Mehrdimensionales Array dynamisch zuweisen. Aber das funktioniert nicht so richtig.

Code: Alles auswählen

Dim aNichtGefunden(1, 2) As String
ReDim Preserve aNichtGefunden(i5, 2) As String
aNichtGefunden(i5, 1) = AuswertungNamen(i)
aNichtGefunden(i5, 2) = oListBox1.SelectedItems(i3)
Gruß Thorsten
Zuletzt geändert von surfhai am Di, 23.05.2006 09:49, insgesamt 1-mal geändert.
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Was funktioniert denn nicht?

Außer dass er vermutlich meint, dass er außerhalb des gültigen Bereichs liegt, wenn du Dim bis i5 machst und dann i5 zuweist - ich glaube er zählt bei 0 los, also geht ein n-dimensionales Array von 0 bis n-1 (oder kurz: dim a(5) => a(5) außerhalb des gültigen bereichs)

Das gleiche Problem dürfte aber auch mit der 2 im zweiten Argument passieren ;)
surfhai
**
Beiträge: 28
Registriert: Di, 17.08.2004 08:42

Beitrag von surfhai »

Das Array speichert nur 1 Index, das heißt den zuletzt zugewiesenen. Also ist etwas mit der Initialisierung nicht in Ordnung. Aber bei der ersten Dim Anweisung kann ich den Wert nicht offen lassen

Code: Alles auswählen

Dim aNichtGefunden(, 2) As String
weil ich dann einen fehler bekomme "Unerwartetes Symbol ,".

Oder ist es unmöglich ein 2 Dimensionales dynamisch zugewiesenes Array zu erstellen?

PS: Das Beispiel oben sind nur meine Code-Fragmente die Teilweise aus einer For-Schleife stammen, der wert i5 stimmt schon.

Gruß Thorsten
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

surfhai hat geschrieben:Das Array speichert nur 1 Index, das heißt den zuletzt zugewiesenen.
Also das einzige, was mir noch einfallen würde ist, dass das Redim sich nur auf die Aktuelle Sub/Function auswirkt. sobald die beendet ist wird das Array (glaube ich) wieder auf die ursprüngliche Größe gesetzt.

Ansonsten bin ich leider auch schon mit meinem Wissen am Ende, fürchte ich.
surfhai
**
Beiträge: 28
Registriert: Di, 17.08.2004 08:42

Beitrag von surfhai »

Ich hab alles im Selben Sub stehen.

Ich hab schon bei Excel VBA geschaut, und dort kann man nur die 2. Dimension neu dimensionieren.

Also muss ich es mit 2 seperaten Arrays machen die beide den selben Index aufweisen.

Gruß Thorsten
Mihilist
****
Beiträge: 120
Registriert: Di, 25.04.2006 15:27
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Mihilist »

Na wenn es möglich ist einen zu verändern, und du nur einen, aber den falschen ändern willst, dann dreh die Indizes doch um *g*
Antworten