Domino 9 und frühere Versionen > ND8: Entwicklung

Object Variable not set

(1/2) > >>

DerVissi:
Hallo zusammen,

ich bekomme ab und zu den Fehler "object variable not set" bei alone = PersDoc.fullname(0) & "@" & PersDoc.MailDomain(0)
Also springt er mir nicht in Dim PersDoc As NotesDocument rein
Wahrscheinlich ein Verständnisfehler von mir. Könnt ihr mir weiterhelfen?

MfG
Andreas

Function EmpfaengerBearbeiten(alone As String) As Variant
   
   On Error GoTo Problem
   
   Dim session As New Notessession
   Dim namesDB As NotesDatabase
   Set namesDB = session.GetDatabase("Servername", "names.nsf")
   Dim PersDoc As NotesDocument
   
   If Not alone = "" Then
      Set PersDoc = namesDB.GetView("($Users)").getdocumentbykey(alone)
      alone = PersDoc.fullname(0) & "@" & PersDoc.MailDomain(0)
      EmpfaengerBearbeiten = alone
   End If

End Function

koehlerbv:
In die Zeile mit dem Dim wird niemals "gesprungen", das ist eine Vereinbarung für den Compiler.

Vielmehr greift Dein GetDocumentByKey ins Klo - dort musst Du den Erfolg sicherstellen, bevor Du weitzere Sunts mit dem gar nicht vorhandenen Doc machst.

Bernhard

DerVissi:
Ich werd mal weiter testen, aber kannst du mir einen Tipp geben?
Die Ansicht in der ich suche ist sortiert und das Ergebnis nach dem ich suche ist definitiv der erste Treffer.

Tode:
Errorhandling wäre ja mal keine schlechte Idee.. Dann könntest Du Dir im Errorfall "alone" in Dein ErrorLog printen lassen, dann wüsstest Du, ob Dein "definitiv" wirklich stimmt, oder ob vielleicht die Variable gar nicht richtig gefüllt ist...

WildVirus:
N'abend,

ich arbeite immer mit dem Agentlog. Alle Agenten kennen den normalen und den verbose-Modus. Im Verbosemodus wird nahezu jede Variablenänderung protokolliert.

In Deinem Fall hätte ich ein
if verbose then call alog.logaction("Starte Function EmpfaengerBearbeiten für [" & alone & "]")
als zweite Zeile genommen. Die erste ist immer on error goto errhandle :-)

Dann kann ich im Agentlog direkt sehen, welche Routine wann anläuft und ob und wie die Variablen gefüllt sind.

Evtl. kommt ja einer mit alone = " " in Deine Routine, und das findet sich im nab nicht.

Noch eine Anmerkung - Servername im Code ist ein absolutes NoGo bei uns.

CU,
Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln