Hallo zusammen,
sorry für die späte Antwort! Bin etwas im Stress :-)
Ich versuche mal, die Fragen zu beantworten.
Es geht um ein Analyse-Tool, mit dem ich Auswertungen über eine Maske anwerfe. Die Maske "used" eine LS-Librory, die die Sub "setGlobals" enthält. Diese hat den Zweck, globale Einstellungen zu setzen, wie z.B. alle beteiligten Datenbanken und auch ein Dokument mit globalen settings. Das ist allerdings das, was ich mit der erwähnten Maske geöffnet habe und von der ich aus "setGlobals" starte. Das Doc ist natürlich vorher gespeichert.
Dies hier ist Teil der setGlobals. Die Variablen sind global in der Librory deklariert.
Dim session As New NotesSession
Set db = session.CurrentDatabase
Set vwGlobalSettings = db.GetView("vwGlobalSettings")
'##########################################################################################################
'Set docGlobalSettings = vwGlobalSettings.GetDocumentByKey(strDedicatedTo + "~" + strDominoServer, True)
'Fix for Version 8.5.2 FP1
Dim collTmp As NotesDocumentCollection
Set collTmp = db.search({Form="frmGlobalSettings" & fldDedicatedTo="} + strDedicatedTo + {" & fldServerName="} + strDominoServer + {"},Nothing,0)
Set docGlobalSettings = collTmp.getFirstDocument
'##########################################################################################################
Die Ansicht "vwGlobalSettings" enthält in der ersten Spalte zwei Textfelder, die über die Tilde miteinander verbunden sind. (fldDedicatedTo + "~" + fldServerName, z.B. "0~CN=S01/O=COMPANY"). Also ganz simpel. Den Key habe ich schon ausgeprintet, der passt.
Wie man im Code erkennt, ist dort mein angesprochener Fix schon drin. Der bezieht sich ja auf die gleichen Felder und MUSS deshalb eigentlich auch das selbe Ergebnis liefern. Das tut er aber nur, wenn der Agent auf einem 8.5.1FP4 läuft und nicht auf einem 8.5.2FP1. Immer von der gleichen Workstation mit 8.5.2 ausgehend.
Läuft der Code auf dem 8.5.2er, kommt immer exakt dann der Fehler "Object Variable Not Set", wenn ich zum ersten Mal auf das Doc zugreifen möchte. Ich sehe mir das jetzt mal mit dem Debuger an.
Ich hatte bei der Umstellung von 8 auf 8.5 schon einmal ein ähnliches Problem. Damals sah der Domino-Server es bei Server-Agenten plötzlich etwas enger. An einigen Stellen hatte ich versehendlich ein und dieselbe NotesDatabase-Variable doppelt "gesettet", also ein mal in Initialize und ein mal in einer Sub. Beides natürlich mit derselben Datenbank, die dahinter steht (also zwei identische Zeilen in einem Agenten). Bei 8.5. war das ergebnis dann "Object Variable Not Set".
Gruß, Bernd