Domino 9 und frühere Versionen > ND6: Entwicklung

FM "DialogBox kann nicht in diesem Kontext verwendet werden. ..."

(1/6) > >>

Bille:
Hallo!

Ich habe in der Maske "Kalendereintrag" der Mailschablone den Button "Bewirtung" eingefügt, hinter dem sich folgender Code verbirgt:


--- Code: ---Sub Click(Source As Button)
Dim s As New NotesSession     
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument

Set doc = ws.CurrentDocument.Document

If Not ws.DialogBox( "DialogBewirtung" , False , False, False, False, False, False, "Ort der Besprechung", doc ) Then
Exit Sub
End If
Call doc.Save(False,False)
End Sub
--- Ende Code ---

Wenn ich im eigenen Kalender mittels "Besprechung planen" ein Dokument öffne und den Button klicke, funktioniert alles wie gewünscht.
Erstelle ich aber den Eintrag in einem fremden Kalender kommt die Fehlermeldung:
"DialogBox kann nicht in diesem Kontext verwendet werden. Es muss ein Dokument ausgewählt werden."

Ich hab mir die Variablen im Debugger angesehen, das doc ist gesetzt.

Wo liegt hier mein Fehler?

Bille

EDIT: Auf erledigt gesetzt!

ata:
Hallo Bille,

... laut Fehlermeldung hat er keinen ZUgriff auf das Dokument - vielleicht wurde der neue Eintrag noch nicht gespeichert, und du hast in deiner Box auf ein existierendes Dokument zugegriffen?

Toni

Bille:
Hallo Toni,

ja, das Dokument wurde noch nicht gespeichert, aber das ist auch der Fall, wenn ich die Besprechung in meinem eigenen Kalender öffne.
Es muss also irgendwas damit zu tun haben, dass ich das Dokument im fremden Kalender öffne. Nur wo ist hier der Unterschied? Das Recht im anderen Kalender Einträge zu erstellen liegt vor.

Bille

ata:
... in deinem Code sind ist keine Validierung auf das aktuelle Dokument:

--- Zitat ---Set doc = ws.CurrentDocument.Document
--- Ende Zitat ---

Das würde ich validieren mit

If not doc Is Nothing Then...

... denn du verwendest es für die Dialogbox. Und da könnten weitere Zugriffe benötigt werden, die eventuell nicht funktionieren. Da dürfte es sich um eine eigene Dialogmaske handeln. Wann genau kommt die Fehlermeldung hoch - vor der Dialogbox, beim Laden der Dialogbox...?

Toni

Bille:
Ja, die Dialogbox ist als eigene Maske in der Mailschablone vorhanden.

Ich hab die Validierung im Code eingefügt. Es erscheint aber immer noch der gleiche Fehler.
Der Fehler tritt beim Öffnen der Dialogbox auf, also in der Zeile

--- Code: ---If Not ws.DialogBox( "DialogBewirtung" , False , False, False, False, False, False, "Ort der Besprechung", doc ) Then
--- Ende Code ---

An dem nicht vorhandenen doc dürfte es nicht liegen, zum einen wird es nun ja vorher abgefragt und zum anderen kann ich im Debugger das doc (samt Items usw.) auch sehen.
Auch sonst kann ich keinen Unterschied entdecken.

Kann es evtl. doch noch mit irgendwelchen Rechten zu tun haben?

Bille

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln