Domino 9 und frühere Versionen > Entwicklung
Voraussetzungen für [Strg][Pause]
0xse:
While Not(doc Is Nothing)
If frmDatum = (doc.Jahr(0) & doc.Monat(0)) Then
i = 0
While (kndnr(i) <> "")
If kndnr(i) = doc.KndnNr(0) Then
summezeit(i) = summezeit(i) + (doc.AcctSessionTime(0) / 60)
summemin(i) = summemin(i) + doc.SessionTimeMin(0)
Goto nextdoc
End If
i = i + 1
Wend
End If
nextdoc:
docacc = docacc + 1
If aap = 1 Then Print "Dokument " & docacc & " von " & doccount & " verarbeitet..."
Set doc = view.GetNextDocument(doc)
Wend
Während diese Schleife läuft reagiert mein Notes auf nichts mehr. Wenn aap auf 1 gesetzt ist, dann wird immer noch unten angegeben wo das Script schon ist, aber auf [Strg][Pause] reagiert mein Notes trotzdem nicht.
Semeaphoros:
Naja, mit einem Goto aus einem IF-Block und aus einer While-Wend Schleife auszubrechen ist aber eine ganz schreckliche Konstruktion. Ich bin mir da nicht sicher, ob da der Stack noch sauber aufgeräumt wird. Möglicherweise hängt sich Notes deshalb auf. Räume mal Deine Strukturen auf.
koehlerbv:
Also, bei der übersichtlichen Menge an Code würde ich auch auf ein Goto verzichten - das tut nicht nooot. Allerdings kommt Notes damit ohne weiteres klar - da wird schon wieder alles ordentlich aufgeräumt, Jens. Intern wird das ganze in diesem Falle ja sowieso in JUMP-Anweisungen umgesetzt - nix mit Stack.
Aber ich kann ansonsten nix erkennen, was da das Abbrechen via Strg-Untbr verhindern könnte.
Bernhard
Semeaphoros:
Mal langsam, die IF und die While-Wend Parameter sitzen auf dem Stack, und ob er eine doppelte Verschachtelung da richtig auflöst, ist nicht sicher. Da müsste man denn mit einem Exit raus. Goto aus While-Wend ist eigentlich nach Sprachdefinition verboten, wenns LS trotzdem schafft, ist das ein Bonus
koehlerbv:
Arges grübeln setzt jetzt ein, Jens. Hast Du Dir schon mal den Code angesehen, den Compiler (und demzufolge sicherlich auch Interpreter) aus sowas generieren ? Man könnte sowas auf Stack(s) tun, aber wozu ? Aus Assemblersicht ist das Wend ein JUMP, das While ein COND JUMP.
Auf jedenfalls braucht man sich aus Sicht des Interpreters bei derartigen Konstrukten in LS keinerlei Gedanken machen. Hinsichtlich des Designs des Codes, der Wartbarkeit, der Lesbarkeit, der Fehlerträchtigkeit, der ... na, Ihr wisst schon, ist es aber alles andere als "state of the art".
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln