Thema: Delphi Mehrdim. SafeArray

Einzelnen Beitrag anzeigen

wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#1

Mehrdim. SafeArray

  Alt 11. Apr 2008, 20:48
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.

Delphi-Quellcode:

  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
  Mit Zitat antworten Zitat