Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: tabama am 18.05.06 - 17:57:54
-
Hallo,
habe folgende Schleife.
set doc = ....
while not doc is nothing
mache irgendwas
set doc = view.getnextdocument(doc)
wend
Ich möchte aber die Schleife nicht nur beenden wenn kein Dokument mehr da ist, sondern auch, wenn eine andere Bedingung zutrifft. zB.
while (not doc is nothing) and doc.xxx(0) > 5
hier beachtet die schleife zwar die and-Bedingung, nicht aber das "not doc is nothing"
komme ich an das letzte Dokument, bringt er mir einen Fehler, weil das getnextdocument kein nächstes findet.
wie gehts?
-
Hallo!
Ich glaube du bekommst deshalb den Fehler, weil in der Script Sprache etwas anders gearbeitet wird als bspw. unter C und Java!
Die Bedingung wird immer komplett ausgeführt:
d.h. wenn doc is nothing, wird:
(not doc is nothing) = false
doc.xxx(0) > 5 = error (da doc nothing ist)
Kann das bei dir der Grund sein!
Bei C/Java würde es gehen, da das erste false, die Ausführung vom Rest der bedingung verhindert (da AND verkünpfung). (Dort kann man daher auch viel "schönes" Unfug treiben!)
Konsequenz ist leider, dass du den Abbruch nach der Schleifen-Bedingung durchführen solltest. :/
Vielleicht kannst du ja damit leben:
do until doc is nothing
id doc.xxx(0) > 5 then exit do
....
loop
Viel Erfolg!
Gruss
Chris
-
Danke,
so funktioniert es