Domino 9 und frühere Versionen > ND8: Entwicklung
Optionsfelder in Lotus Script
jr:
Hallo,
doch, muss gehen, der Code ist korrekt. Vielleicht darfst Du das Dokument nicht löschen? (ACL Häkchen bei Delete Document?) Oder vielleicht hast Du das Dokument gerade im Frontend geöffnet?
Oder gibt es immer noch den "Object Variable not set"-Error? GetProfileDocument gibt immer ein gültiges Dokument zurück, auch wenn noch gar keins existiert. Also hat profileDoc in jedem Fall einen gültigen Wert. Vielleicht ist im Feld "test" eine Zahl? Dann probiers mal mit CStr(profileDoc.test(0)) = "1". Oder - letzte Idee - doc hat keinen Wert. Kannst ja vorher mal mit "If (Not(doc Is Nothing)) ..." prüfen.
Gruß,
Joachim
Axel:
Zeigt mal den gesmaten Code. Mit dem Schnipsel kann man nichts anfangen. Das sieht nämlich, mit der Ergänzug von (0) ganz vernüftig aus.
Hast du eine vernüftige Fehlerbehandlung eingebaut.
Axel
Pir0x:
also, ich führ das ganze mal bissl weiter aus, diese Abfrage setzt sich aus 2 Bedingungen zusammen,
einmal wird überprüft ob das Document bearbeitet wurde (flagDocProcessed) und einmal halt welches kästchen im Optionsfeld ausgewählt wurde.
"flagDocProcessed" wird auf True gesetzt sobald das Document bearbeitet wurde
wenn ich jetzt sag
-----------------------------------------------------
"IF flagDocProcessed Then Call doc.Remove(True)"
-----------------------------------------------------
funktioniert das ohne Probleme , aber wenn ich das mit einander kombinieren will
------------------------------------------------------------------------------
"If flagDocProcessed And (docProfile.test(0)= "1" )Then Call Docx.Remove(True)"
------------------------------------------------------------------------------
funktioniert das wieder nicht. und im Feld test ist auch keine Zahl, das mit CStr hab ich bereits probiert
edit: Gesamter Code
--- Zitat ---Set docProfile = db.GetProfileDocument("MABP")
While Not(doc Is Nothing)
flagDocProcessed = False
....
flagDocProcessed=True
....
Set docx = doc
Set doc = docsUnprocessed.GetNextDocument(doc)
If flagDocProcessed And (docProfile.test(0)= "1" )Then Call Docx.Remove(True)
--- Ende Zitat ---
jr:
Hi,
hmm, sieht so aus, als ob Du den Remove zu einem falschen Zeitpunkt machst. Nach dem letzten "GetNextDocument" ist doc Nothing und dann funktioniert die nächste Zeile nicht mehr.
Du kannst doc in einer anderen Variablen zwischenspeichern und dann löschen.
--- Code: ---while (Not(doc Is Nothing))
Set del = Nothing
...
If (... ) Then Set del = doc
Set doc = docsUnprocessed.GetNextDocument(doc)
If (Not(del Is Nothig)) Then Call del.Remove(True)
Wend
--- Ende Code ---
So müsste es klappen.
Gruß,
Joachim
Pir0x:
--- Zitat von: jr am 18.08.08 - 09:45:59 ---Hi,
hmm, sieht so aus, als ob Du den Remove zu einem falschen Zeitpunkt machst. Nach dem letzten "GetNextDocument" ist doc Nothing und dann funktioniert die nächste Zeile nicht mehr.
Du kannst doc in einer anderen Variablen zwischenspeichern und dann löschen.
--- Ende Zitat ---
genau so mach ichs ja
Set docx = doc
If flagDocProcessed And (docProfile.test(0)= "1" )Then Call Docx.Remove(True)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln