Domino 9 und frühere Versionen > ND6: Entwicklung
LS: Array definieren - illegal arraybound ...
(1/1)
-Michael-:
Hi,
ich deklariere wie folgt ein Array (Option Declare eingeschaltet, Designerversion 6.5.2):
--- Code: --- Dim intCollCount As Integer
intCollCount = 10 'collSource.Count - 1
Dim vDocArray(intCollCount) As Variant
--- Ende Code ---
Beim Kompilieren (speichern) des Scripts kommt die Fehlermeldung "illegal arraybound for vDocArray (hier) in Zeile 3.
Schreibe ich stattdessen
--- Code: --- Dim intCollCount As Integer
intCollCount = 10 'collSource.Count - 1
Dim vDocArray(10) As Variant
--- Ende Code ---
dann lässt sich das Script kompilieren.
Woran könnte das denn liegen? Ich habe auch schon intCollCount als Variant deklariert, aber auch dann geht es nicht.
Danke für Eure Hilfe im Voraus.
Michael
koehlerbv:
Hi, Michi,
ganz einfach: Du kannst derartige Deklaration nicht mit Variablen vornehmen. Also:
Entweder wie Deine Methode 2 oder
mit einem Redim.
Zugegebenermassen auf den ersten Blick schwierig zu verstehen, aber dann doch sinnig.
Herzliche Grüsse von 83313 nach 83236 :)
Bernhard
PS:
Variante 1:
Dim aArray (0 to 10) as String
Variante 2:
Dim aArray () as String
Dim iUBound as Integer
iUBound = 10
Redim aArray (0 to iUBound)
-Michael-:
Hi Bernhard,
danke für die schnelle Hilfe aus dem Nachbardorf (zumindest fast) ;D
Redim war mir klar, damit geht es dann auch. Wenn ich länger darüber nachdenke macht es auch Sinn, da hast Du Recht. Dim's setzt man ja ganz allgemein und (i.d.R.) am am Anfang einer Routine. Da sind Variablen eigentlich gar nicht schön, die setzt man dann später.
Was übrigens geht ist ein:
--- Code: --- Const TEST_INT% = 10
Dim vDocArray(TEST_INT) As Variant
--- Ende Code ---
Also werden Konstanten sauber genommen. Hätte nicht gedacht dass Option Declare soweit eingreift, aber macht absolut Sinn.
Nochmal danke, da hab ich wieder was gelernt :)
Viele Grüße nach Siegsdorf,
Michael
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln