![]() |
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.
Delphi-Quellcode:
Ich mache irgendwas mit den Dimensionen falsch. Hat jemand eine Idee?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; Danke und Gruß Sascha |
Re: Mehrdim. SafeArray
In der Funktion PutBreite machst du aus dem statischen Array Dim ein dynamisches array (zumindest von der Handhabung her), evtl. musst du iPos[0] o.ä. übergeben.
|
Re: Mehrdim. SafeArray
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz