Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Sebastian Botz am 04.10.05 - 10:32:38

Titel: Session.CurrentDatabase ändert sich
Beitrag von: Sebastian Botz am 04.10.05 - 10:32:38
Hallo zusammen,

habe eine Verständnisfrage zur Session und der Eigenschaft CurrentDatabase.

Laut Noteshilfe: Read-only. The database in which the current script resides

Aber was heißt das. Ich dachte bisher, es handelt sich hier immer um die DB in welcher der Skriptcode im Design hinterlegt ist.

Bin aber heute auf folgendes Probleme gestoßen:

In DB A wird per Button LS-Code ausgeführt: CurrentDatabase zeigt auf DB A.
In einer Unterfunktion wird auf die DB B zugegriffen und dort Dokumente erstellt. Und ab dann zeigt CurrentDatabase auf DB B.

Ist das jetzt ein Feature oder ein Bug?

Vielen Dank für eure Hilfe

Sebastian

Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: Glombi am 04.10.05 - 10:40:22
Wie werden die Dokumente in DB B erstellt - mittels UI Klassen?
Ist das UI Dokument an der Stelle im Frontend offen?

Andreas
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: klaussal am 04.10.05 - 10:42:31
Das könnte man so und so sehen.
Das Script "läuft" ja ab einem bestimmten Punkt in der 2. DB und erstellt dort Dokumente. Also liefert CurrentDatabase eben den Namen dieser DB zurück.
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: koehlerbv am 04.10.05 - 10:44:48
Das ist falsch, Klaus.
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: Sebastian Botz am 04.10.05 - 10:46:48
Hallo Andreas, hallo Glombi,

das Dokument in der zweiten DB wird im Backend erstellt, dann aber im Frontend geöffnet und noch Änderungen vorgenommen.

Ich hätte nur gerne eine klare Antwort, wie ich diese Eigenschaft verstehen muß. Wie gesagt bisher ging ich immer davon aus, es gibt die DB zurück, in welcher der Skriptcode hinterlegt ist.

Aber evtl. doch nicht?

Gruß
Sebastian
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: klaussal am 04.10.05 - 10:47:09
@Bernhard,

ich hab ja geschrieben: könnte.....

Aussredem: Falsch zu schreiben, ohen eine Begründung anzugeben, ist ja ein bisschen zu einfach, oder ?

nix für ungut  ;)
klaus
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: Glombi am 04.10.05 - 10:50:29
Es kommt drauf an, wann das CurrentDatabase gesetzt wird. Wenn aktuell ein Dokument im UI offen ist, dann liefert es DB B.
Am besten ist es daher, das
set db = session.CurrentDatabase
gleich am Anfang zu machen.

Andreas
Titel: Re: Session.CurrentDatabase ändert sich
Beitrag von: PsychoDad am 04.10.05 - 13:29:54
 :-:
Wenn Du die Currentdatabase (DB A) bereits im Zugriff hast, warum willst Du es denn in Deiner Unterfunktion noch einmal setzen/abfragen?

Eine Theorie hätte ich: Könnte es sein, dass Du beide DB´s ( DB A und DB B ) mit der gleichen Variablen ( z. B. Set db.session.currentdatabase ) ansprichst und Du im Debuggger nur siehst, dass db von DB A zu DB B (Set db = New NotesDatabase( server, filename ) wird wenn Du ein Deine Funktion springst? Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt...

Gruß

Frank