Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: DAU-in am 06.06.07 - 10:30:37

Titel: Grenzen für arrays bei arrayAppend?
Beitrag von: DAU-in am 06.06.07 - 10:30:37
in einer Anwendung wird eine Documentcollection erzeugt.
Es wird ein leerer Array erzeugt, und danach für jedes Dokument in einer Schleife mit arrayAppend ein zweites Array angehängt.

Das ganze funktioniert bis der Counter auf 12 steht, danach gibt es ein Subscript out of range  .

In der Hilfe steht :
"ArrayAppend throws a Subscript out of range error if the array bounds of the constructed array are outside acceptable array limits."

Ist bei 12 Schluss? Oder liegt der Fehler woanders?
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: m3 am 06.06.07 - 10:41:18
Woanders.  ;D
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: DAU-in am 06.06.07 - 10:44:25
Also weitersuchen ...
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: m3 am 06.06.07 - 10:45:19
Code posten?
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: DAU-in am 06.06.07 - 10:52:19
zu verwickelt .... springt in einer Scriptlibrary hin und her
und ich finde nichts, wo irgendwo ein Limit fest angegeben wäre

Ich habs gerade auf einer test DB ausprobiert, bis 12 Dokumente alles in Butter, bei 13 Schluss mit lustig. Vielleicht sollte ich auch mal bei Grimms Märchen nachschlagen, frau weiss ja nie ....

P.S.: ich wollte vor allem sicher gehen, dass es nicht eine Beschränkung in Notes ist, nach der ich heute suchen werde.
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: m3 am 06.06.07 - 11:11:23
Sorry, ich dürfte da falsch gelegen sein. Anscheinend gibts ein Limit.

Code
	Dim sourceArray1(1 To 12) As Integer
	Dim sourceArray2(1 To 12) As Integer
	Dim arr3
	sourceArray1(1) = 1
	sourceArray1(2) = 2
	sourceArray1(3) = 3
	sourceArray1(4) = 4
	sourceArray1(5) = 5
	sourceArray1(6) = 6
	sourceArray1(7) = 7
	sourceArray1(8) = 8
	sourceArray1(9) = 9
	sourceArray1(10) = 10
	sourceArray1(11) = 11
	sourceArray1(12) = 12
	sourceArray2(1) = 1
	sourceArray2(2) = 2
	sourceArray2(3) = 3
	sourceArray2(4) = 4
	sourceArray2(5) = 5
	sourceArray2(6) = 6
	sourceArray2(7) = 7
	sourceArray2(8) = 8
	sourceArray2(9) = 9
	sourceArray2(10) = 10
	sourceArray2(11) = 11
	sourceArray2(12) = 12
	sourceArray2(13) = 13
	sourceArray2(14) = 14
	
	arr3 =  Arrayappend (sourceArray1, sourceArray2)
	
	Msgbox "UBound neues Array: " & Cstr(Ubound(arr3))

Selber Fehler wie bei Dir.  :(
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: koehlerbv am 06.06.07 - 11:17:57
Könnte das damit zu tun haben, dass Option Base 0 ist, aber die Arrays als (1 to 12) deklariert worden sind?

Bernhard
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: m3 am 06.06.07 - 11:20:38
Danke.
/me holt sich noch einen Kaffee, damit er mal was sieht und grad Denken kann.

Mit korrektem Dim klappt es natürlich:
Code
Dim sourceArray1(1 To 12) As Integer
	Dim sourceArray2(1 To 15) As Integer
	Dim arr3
	sourceArray1(1) = 1
	sourceArray1(2) = 2
	sourceArray1(3) = 3
	sourceArray1(4) = 4
	sourceArray1(5) = 5
	sourceArray1(6) = 6
	sourceArray1(7) = 7
	sourceArray1(8) = 8
	sourceArray1(9) = 9
	sourceArray1(10) = 10
	sourceArray1(11) = 11
	sourceArray1(12) = 12
	sourceArray2(1) = 1
	sourceArray2(2) = 2
	sourceArray2(3) = 3
	sourceArray2(4) = 4
	sourceArray2(5) = 5
	sourceArray2(6) = 6
	sourceArray2(7) = 7
	sourceArray2(8) = 8
	sourceArray2(9) = 9
	sourceArray2(10) = 10
	sourceArray2(11) = 11
	sourceArray2(12) = 12
	sourceArray2(13) = 13
	sourceArray2(14) = 14
	
	arr3 =  Arrayappend (sourceArray1, sourceArray2)
	
	Msgbox "UBound neues Array: " & Cstr(Ubound(arr3))


Und das, nachdem ich Bill Buchans "Best Practices (http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwww.hadsl.com%2Fhadsl.nsf%2FVienna_Buchan_Lotusscript%2520Coding%2520Best%2520Practices.pdf&ei=cHxmRsnuLYKAnQPj8_z4Dw&usg=AFQjCNHR8XHDgxm7FA5FDRT-k7L6dfhx1g&sig2=Y1WmOuWG90GfU5ehWrEi2A)" bereits mehrmals gehört habe:

Zitat
By default, they count from zero
Don't change this by using “option base”
You can guarantee that someone will either:
    +) Cut'n'paste this code somewhere else
    +) Remove your “option base” directive!
Titel: Re: Grenzen für arrays bei arrayAppend?
Beitrag von: DAU-in am 06.06.07 - 12:50:41
Ich glaube, ich weiss jetzt, wo der Fehler liegt, mal sehen.