Announcement

Collapse
No announcement yet.

Mehrdim. SafeArray

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mehrdim. SafeArray

    Hallo,
    ich möchte in meinem 2-dimensionalen SafeArray Werte speichern.
    In der ersten Dimension einen Integer-Wert und in der zweiten Dimensionen einen jeweils zum Element der ersten Dimensionen gehörenden Wert. (auch integer)

    Eindimensional klappt das gut, aber bei zwei Dimensionen habe ich irgendeinen Denkfehler drin. Der letzte Wert der ersten Dimension wird immer von einem Wert der zweiten Dimension überschrieben. anbei mal das Füllen des Array.

    Code:
      var 
            MySafeArray : PSafeArray
            aBound : array[0..1] of TSafeArrayBound;
            Dim : array[0..1] of Integer;
            arCols : array of array[0..1] of Integer;
    
    
    
      aBound[0].cElements := length(arCols);
      aBound[0].lLbound   := 0;
      aBound[1].cElements := length(arCols);
      aBound[1].lLbound   := 0;        
    
    
       MySafeArray   := SafeArrayCreate(VT_INT,2,aBound)
    
       If length(arCols)>0 then begin
           for i := low(arCols) to high(arCols) do begin
              Dim[0] := i;
              PutBreite(MySafeArray,Dim,arCols[i,0]);
           end;
    
           for i := low(arCols) to high(arCols) do begin
              Dim[1] := i;
              PutBreite(MySafeArray,Dim,arCols[i,1]);
           end;
       end;
      
    
      procedure PutBreite(pSA: PSafeArray; iPos: array of Integer; Breite: Integer);
      begin
         SafeArrayPutElement(pSA, iPos, Breite);
      end;
    Ich mache irgendwas mit den Dimensionen falsch. Hat jemand eine Idee?

    Danke und Gruß
    Sascha
Working...
X