Autor Thema: Forall in Mehrdimensionalem Array  (Gelesen 2102 mal)

DatenDuck

  • Gast
Forall in Mehrdimensionalem Array
« 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

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Forall in Mehrdimensionalem Array
« Antwort #1 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?
Ohne Computer wären wir noch lange nicht hinterm Mond!

DatenDuck

  • Gast
Re: Forall in Mehrdimensionalem Array
« Antwort #2 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.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Forall in Mehrdimensionalem Array
« Antwort #3 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
Grüßle Toni :)

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Forall in Mehrdimensionalem Array
« Antwort #4 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
Situs vilate in isse tabernit.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz