Autor Thema: Object Variable not set  (Gelesen 2835 mal)

Offline DerVissi

  • Frischling
  • *
  • Beiträge: 37
  • Geschlecht: Männlich
Object Variable not set
« am: 14.02.14 - 16:44:05 »
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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Object Variable not set
« Antwort #1 am: 14.02.14 - 16:46:50 »
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

Offline DerVissi

  • Frischling
  • *
  • Beiträge: 37
  • Geschlecht: Männlich
Re: Object Variable not set
« Antwort #2 am: 14.02.14 - 16:59:49 »
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.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Object Variable not set
« Antwort #3 am: 14.02.14 - 20:51:18 »
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...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Object Variable not set
« Antwort #4 am: 14.02.14 - 21:13:22 »
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

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Object Variable not set
« Antwort #5 am: 15.02.14 - 14:32:52 »
Sowas geht nicht:

  Set PersDoc = namesDB.GetView("($Users)").getdocumentbykey(alone)

Du musst die View in einer Variable abspeichern. Sonst räumt die Garbagecollection die View aus den Speicher und damit auch alles was du daraus geholt hast.

Gruß Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline DerVissi

  • Frischling
  • *
  • Beiträge: 37
  • Geschlecht: Männlich
Re: Object Variable not set
« Antwort #6 am: 18.02.14 - 11:21:32 »
Sowas geht nicht:

  Set PersDoc = namesDB.GetView("($Users)").getdocumentbykey(alone)

Du musst die View in einer Variable abspeichern. Sonst räumt die Garbagecollection die View aus den Speicher und damit auch alles was du daraus geholt hast.

Gruß Roland


Ich hab die Scriptzeilen auf der IBM Homepage gefunden. :)

Aber die view in ner Variable abspeichern hat mir geholfen.
Danke an alle die geantwortet haben.

MfG
Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Object Variable not set
« Antwort #7 am: 18.02.14 - 12:03:04 »
Ich hab die Scriptzeilen auf der IBM Homepage gefunden. :)
Ich würde lieber bei jemandem suchen, der sich damit auskennt ...  :-X

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz