Domino 9 und frühere Versionen > ND6: Entwicklung
FM "DialogBox kann nicht in diesem Kontext verwendet werden. ..."
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