Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: DatenDuck am 21.09.06 - 15:09:49

Titel: Forall in Mehrdimensionalem Array
Beitrag von: DatenDuck am 21.09.06 - 15:09:49
Hallo Forum,


leider habe ich Probleme mit einer Forall Schleife in einem Mehrdimensionalen Array

Ich habe ein
             X        Y
Array(0 to 9, 0 to 9)

durch welches ich mit

Forall refVar in Array

durchloopen möchte.
Als Rückgabewert hatte ich das Y array erwartet durch dass ich dann wiederum loopen wollte...
Was ich erhalte ist jedoch leider nur der String Inhalt der Elemente im X Array



Definiert ist das Array folgendermaßen

Dim arrDependencies(0 To 9, 0 To 9) As String

... füllen...

...setzen...

Objekt.Dependencies = arrDependencies

Die Eigenschaft des Objekts ist folgendermaßen definiert


   Property Get Dependencies() As Variant
      Dependencies = Me.m_Dependencies
   End Property   
   Property Set Dependencies() As Variant
      Me.m_Dependencies = Dependencies
   End Property   


Private m_Dependencies As Variant

Sofern ich den Member "Private m_Dependencies() As Variant" definiere gibts beim Speichern einen Type mismatch...


Die Forall Schleife durch die "Arrays in dem Array" muss doch generell funktionieren oder nicht?!  :-:

Ich habe hoffentlich nur einen Denkfehler gemacht.
Vielen Dank schon mal im Voraus für die Hilfe!

Bis dann,
-Moritz
Titel: Re: Forall in Mehrdimensionalem Array
Beitrag von: Axel am 21.09.06 - 16:21:41
Ich bin mir nicht sicher ob ForAll überhaupt mit mehrdimensionalen Arrays funktioniert.


Axel

PS: Gehört das nicht laut deiner Signatur nicht ins 6er-Forum?
Titel: Re: Forall in Mehrdimensionalem Array
Beitrag von: DatenDuck am 21.09.06 - 16:26:40
Danke für die Antwort  :)

Der Post ist hier scho richtig  ;) Bei uns läuft zwar die angegebene Version, aber basteln tu ich in R5 zwecks Kompatibilität und meinem Verlangen nach noch mehr Selbstbestrafung als es mit R6 möglich ist.  ;D ;D ;D

Würde denn die normale For Schleife da besser laufen?! Hat da jemand Erfahrung?!

Vielen Dank nochmals.
Titel: Re: Forall in Mehrdimensionalem Array
Beitrag von: ata am 21.09.06 - 19:21:23
Forall ist etwas performanter, geht aber nicht so gut in deinem Fall

Ich würde

   For i = Lbound( vArray ) to Ubound( vArray )...

und das in den entsprechenden Instanzen und den Validierungen mit IsEmpty, bzw. IsArray

Toni
Titel: Re: Forall in Mehrdimensionalem Array
Beitrag von: LN4ever am 23.09.06 - 10:01:32
Ein paar Anmerkungen zu mehrdimensionalen Arrays:

Intern werden auch mehrdimensionale Arrays IMMER als eindimensionale Arrays geführt. Die Mehrdimensionalität ist also nur die Pointersteuerung. Mit einem ReDim Preserve kann man immer nur die LETZTE Arraydimension ändern.

Die unterschiedlichen Grenzen mehrdimensionaler Arrays findet man über den zweiten Parameter von LBound und UBound

For i=LBound(array,1) To UBound(array,1)
For j=LBound(array,2) To UBound(array,2)
...
Next
Next

Gruß

Norbert