redim eines mehrdimensionalen Arrays zur Laufzeit ??

  • Hallo,
    kann man ein mehrdimensionales Array nicht zur Laufzeit redimensionieren ?
    z.B.


    Z=0
    For I = 1 to 99
    redim preserve Array( Z , 2)
    'hier dann die Werteübergabe
    Z = Z + 1
    next


    ich erhalte immer einen "subcript out of range"
    das erste redim funktioniert, aber nach dem "next" kommt der Fehler.
    Was mache ich denn da falsch, oder geht's so überhaupt nicht ??
    In der Hilfe/Forum habe ich leider zu "redim eines mehrdimensionalen Arrays" nicht gefunden.


    Gruß Harald

  • Ein Redim kannst du immer nur auf die letzte Dimension machen, sobald du preserve verwendest.


    Siehe Hilfe:


    Zitat


    If Preserve is specified, you can change only the upper bound of the last array dimension. Attempting to change any other bound results in an error.

    • Offizieller Beitrag

    d.h. Du musst nur die Dimensionen tauschen.


    redim preserve Array( 2, Z)


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • taurec, Diali,
    vielen Dank für die schnelle Hilfe.
    Leider lässt sich mein Problem nicht durch tauschen der Dimensionen lösen.
    Da ich meine Werte aus einer Liste hole, werde einfach für die Dimensionierung zuvor die Anzahl der Einträge der Liste ermitteln.
    Das müsst eigentlich funktionieren.


    Gruß Harald