Hejsan, I gamla VB var dimensionenr man angav i dimsatsewn fasta dimensionen. JAg antar at samma gäller .NET. Detta gäller i Vb och förmodligen också i .net dvs du kan inte Redim PreservVill inte ReDim'ma!?
Nedanstående kodsnutt dimensionerar arrayen strReport för att sedan redimensionera den. Problemet är att arrayen aldrig redimensioneras. Den sista raden gör ingen som helst skillnad. Någon som har en idé?
Dim strReport(200)() As String
strData = Report(strSplitText, strDocumentText, strData, intFilteredData, intFilterLast) strReport(0) = New String() {strMetaData(0), "Status", "Debuginfo"}
For nData = 0 To intFilterLast
strReport(nData + 1) = New String() {strData(intFilteredData(nData))(0), strData(intFilteredData(nData))(6), ""}
Next
ReDim Preserve strReport(3)(3)
/JohanSv: Vill inte ReDim'ma!?
Testa med:
<code>
Dim strReport()() As String
ReDim strReport(200)() As String
strData = Report(strSplitText, strDocumentText, strData, intFilteredData, intFilterLast) strReport(0) = New String() {strMetaData(0), "Status", "Debuginfo"}
For nData = 0 To intFilterLast
strReport(nData + 1) = New String() {strData(intFilteredData(nData))(0), strData(intFilteredData(nData))(6), ""}
Next
ReDim Preserve strReport(3)(3)
</code>Sv: Vill inte ReDim'ma!?
den första dimmensionen om du har två eller fler ,du kan bara ändra den sista
If you use the Preserve keyword, you can resize only the last array dimension and you
can't change the number of dimensions at all. For example, if your array has only one
dimension, you can resize that dimension because it is the last and only dimension.
However, if your array has two or more dimensions, you can change the size of only
the last dimension and still preserve the contents of the array.
The following example shows how you can increase the size of the last dimension
of a dynamic array without erasing any existing data contained in the array.
ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15) detta är Ok.
Överhuvudtaget skall man undvika flerdimmensionella arrayer.
Kolla om det inte går att ha den i en enda lång eller så gör flera olika.