Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Jürgen Schomann am 16.09.16 - 14:55:09

Titel: Eigenschaft CurrentDatabase versus Methode GetCurrentDatabase
Beitrag von: Jürgen Schomann am 16.09.16 - 14:55:09
In einer Maske - Ereignis Queryopen ist folgender Code:

Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Set uidb = ws.GetCurrentDatabase

dabei wird ein Fehler: Fehlercode 4418 mit der Meldung 'Property or Method is not available during QueryOpen: GetCurrentDatabase' ausgegeben.

Ändert man die Zeile Set uidb = ws.GetCurrentDatabase in Set uidb = ws.CurrentDatabase ist alles ok.


In einer Ansicht - Ereignnis Queryopen ist folgender Code:

Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Set uidb = ws.GetCurrentDatabase
Messagebox (uidb Is Nothing)

Markiert man im Arbeitsbereich das Datenbanksymbol und öfnnet die Datenbank über das Notes-Menü Ansicht - Gehe zu... wird False ausgegeben.

Ändert man die Zeile Set uidb = ws.GetCurrentDatabase in Set uidb = ws.CurrentDatabase wird True ausgegeben.


Lt. Notes-Hilfe soll die Methode GetCurrentdatabase die Eigenschaft CurrentDatabase ersetzen, insbesondere wegen o. g. Fehler beim Öffnen der Datenbank über das Notes-Menü Ansicht - Gehe zu...
Andererseits wird beim Öffnen einer Maske ja die Eigenschaft CurrentDatabase benötigt.

Also kann GetCurrentDatabase kein vollständiger Ersatz für CurrentDatabase sein oder?
Titel: Re: Eigenschaft CurrentDatabase versus Methode GetCurrentDatabase
Beitrag von: jBubbleBoy am 16.09.16 - 15:46:03
Kann mich nicht erinnern das jemals eine LS-Methode oder Klasse "deprecated" und dann rausgeworfen wurde, auch in der Hilfe konnte ich keinen Hinweis finden das die Methode "CurrentDatabase" veraltet ist.
Mach mal einen Screenshot der Hilfe, vielleicht habe ich nur nicht die richtige Stelle gefunden, ich lerne gerne dazu.
Titel: Re: Eigenschaft CurrentDatabase versus Methode GetCurrentDatabase
Beitrag von: Jürgen Schomann am 16.09.16 - 16:16:00
In der Hilfe steht 'superseded' woraus man schließen kann, dass man besser GetCurrentDatabase verwenden sollte?
CurrentDatabase wird wohl auch weiterhin bleiben, insbesondere wegen bereits bestehender Anwendungen.
Hier die Hilfe
Titel: Re: Eigenschaft CurrentDatabase versus Methode GetCurrentDatabase
Beitrag von: jBubbleBoy am 16.09.16 - 16:28:21
Tatsache - du kannst ws.GetCurrentDatabase im Initialize der Maske verwenden das Ereignis wird vor QueryOpen ausgelöst und funktioniert.
Titel: Re: Eigenschaft CurrentDatabase versus Methode GetCurrentDatabase
Beitrag von: Jürgen Schomann am 16.09.16 - 18:54:57
Vielen Dank für den Hinweis, dies war nur ein Beispiel, um die Funktionalität zu prüfen.
Dann muss man eben das NotesUIDatabase-Objekt in (Declarations) oder (Globals) angeben, um in Queryopen darauf zuzugreifen oder eben doch CurrentDatabase verwenden.