Domino 9 und frühere Versionen > ND6: Entwicklung
ACL-Abfrage ohne Zugriffsberechtigung? (LotusScript)
koehlerbv:
Nö, Thomas. Dahin kommst Du gar nicht, weil Err sofort mit 4060 belegt wird. Damit ist auch der ErrorHandler für diesen Fall sehr einfach zu bauen.
Bernhard
sp4c3:
Ich versuche mich gerade an "On Error" - allerdings bekomme ich immer folgende Fehlermeldung:
"Error number must be INTEGER constant: LSERR_NOTES_DBNOACCESS"
Unter "(Declarations)" ist folgendes angegeben:
%INCLUDE "lserr.lss"
%INCLUDE "lsconst.lss"
Code:
--- Code: ---On Error lsERR_NOTES_DBNOACCESS Goto test
[...]
test:
--- Ende Code ---
koehlerbv:
Damit stehen zwei Dinge fest:
- Bei Dir fehlt Option Declare
- Du hast noch nicht in die beiden .lss-Files geschaut (das sollte man vor dem Posten aber mindestens tun).
LSERR_NOTES_DBNOACCESS ist in lsxbeerr.lss deklariert.
Bernhard
sp4c3:
Hallo koehlerbv,
danke für deine Antwort.
Das mit der falschen lss-File... unerklärlich wie mir sowas passieren kann. Ich wusste eigentlich, dass es die lsxbeerr.lss ist.
Das funktioniert soweit jetzt auch.
Ich hätte da aber noch eine Verständnisfrage. Ich hoffe ich bekomm sie auch verständlich ausgedrückt:
Hier mal etwas Code dazu:
--- Code: --- On Error lsERR_NOTES_DBNOACCESS Goto test
[...]
i=0
Forall x In dbnarray
Set db = New NotesDatabase( "EWNS", dbnarray(i) )
Print ("Durchsuche Datenbanken... " + db.Title)
Set view = db.getview("(Aufgaben nach Manager)")
[...]
test:
i=i+1
End Forall
--- Ende Code ---
Innerhalb dieser Forall-Schleife passiert meine komplette Bearbeitung zur Datenbank, die bei einem Error nicht ausgeführt werden kann/soll, daher habe ich die Sprungmarke "test" an's Ende der Forall-Schleife gesetzt, damit der komplette Kram übersprungen wird.
Jetz habe ich folgendes Phänomen:
- Kommt der Fehler einmal vor (nur eine Datenbank ohne Zugriff), bekomme ich am Ende des Scripts eine Meldung "No Resume" - Das Script wird aber korrekt ausgeführt
- Existieren zwei Datenbanken ohne Zugriff, bricht das Script beim Versuch, die zweite Datenbank zu öffnen, ohne Errorhandling ab. Es erscheint für diese Datenbank die gleiche Meldung, als wäre kein Errorhandling angelegt.
koehlerbv:
Hallo Andreas,
Du musst den Fehler "behandeln" und nicht nur registrieren. In Deinem Fall passiert das mit einem Resume.
Eine Variante wäre ein
Resume Next,
bevor Du Deine Variable i inkrementierst.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln