Domino 9 und frühere Versionen > ND8: Entwicklung

LotusScript: NotesSession.GetDatabase

(1/2) > >>

Jürgen Schomann:
Wenn ich folgenden Anweisung ausführe:

Set NotesDatabase = NotesSession.GetDatabase(server$, dbfile$, createonfail)

mit dem Parameter createonfail = False und die Datenbank ist nicht vorhanden, wird mir trotzdem ein Datenbankobjekt und nicht wie in der Designer-Hilfe beschrieben Nothing zurückgeben.
Dazu kommt noch wenn ich den Parameter dbfile$ leer lasse erhalte ich auch ein Datenbankobjekt wobei NotesDatabase.FilePath und NotesDatabase.Server jeweils gleich sind also die Serverangabe.
NotesDatabase.IsOpen ist in beiden Fällen richtig = False aber eine Prüfung nach o. g. Anweisung auf Nothing für dasDatenbankobjekt scheint nicht zu funktionieren oder verstehe ich hier etwas falsch?

Ralf_M_Petter:
Kann ich so nicht bestätigen. Wenn ich folgenden Agent ausführe, wird bei mir Nothing ausgegeben:

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db=session.Getdatabase("", "NV.nsf", false)
   If db Is Nothing Then
      Print"Nothing"
   else
      Print db.Isopen
   End if
End Sub

Wobei NV.nsf nicht vorhanden ist.

Jürgen Schomann:
Wenn man den Parameter createonfail direkt angibt läuft es richtig wenn man aber eine Variable benutzt verhält es sich so wie ich beschrieben habe.

Aber auch wenn man den Parameter direkt mit 'False' angibt wird das Datenbankobjekt nicht mit Nothing überschrieben wenn es vorher mit einem anderen Datenbankobjekt belegt war.

Peter Klett:
Dann schreib doch ein Set db = Nothing in die Zeile darüber ...

Jürgen Schomann:
Das ist richtig aber ändert ja nichts an der Fehlfunktion. Außerdem muss ein Rückgabewert immer gesetzt werden je nach Ergebnis.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln