Domino 9 und frühere Versionen > ND8: Entwicklung
Dialogbox
Hedwig14:
Hallo !
Ich rufe eine Dialogbox mit
Call workspace.DialogBox ("TEL_ADR_ändern", True, True, True, False, False, False, "Kommunikationsadresse ändern", doc, False, True, True)
auf.
In der Dialogbox habe ich u.a. einen EIGENEN Schalter "abbrechen" hinterlegt mit folgender Funktion:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim oWS As New NotesUIWorkspace 'Dialogmaske
oWS.CurrentDocument.Close 'Dialogmaske schließen
End Sub
Nun möchte ich über diesen Schalter einen Wert an das Hauptdokument übergeben.
Wie kann ich das Hauptdokument deklarieren ?
Peter Klett:
Wenn das Hauptdokument während der Dialogbox geschlossen ist, würde ich dem doc für die Dialogbox die UniversalID des Hauptdokuments mitgeben, dann kannst Du mit NotesDatabase.GetDocumentByUnid darauf zugreifen.
Ist es geöffnet, greifst Du damit über das Backend zu und produzierst einen Speicherkonflikt. Dann gehe ich so vor:
Das doc für die Dialogbox wird im Script temporär erstellt, da hinein kommen alle relevanten Felder aus dem Hauptdokument. Im Button, der die Dialogbox schließt, schreibe ich in Felder, die ich später auslese, die entsprechenden Informationen hinein (z.B. dass der Button gedrückt wurde). Dann folgt noch ein
Call workspace.RefreshParentNote
damit die Werte aus der Dialogbox trotz Abbruch in das Dokument übernommen werden. Im nachfolgenden Script (also dem Dialogbox-aufrufenden Script nach der Dialogbox) werte ich das temporäre Dokument aus und verändere die Felder / Items des Hauptdokuments, dass ich schon zu Beginn des Scripts mit workspace.CurrentDocument geholt habe.
Hedwig14:
Vielen Dank ! Das hört sich aber ziemlich kompliziert an !
Wie übergebe ich denn die Dok-ID vom Hauptdok. an die Dialogbox ?
Gruss
Peter Klett:
Als Feld im doc
Hedwig14:
Ich habe das Verfahren noch nicht ganz verstanden.
Also mein Hauptdok ist im Hintergrund geöffnet. Und es geht tatsächslich um die Information welche der beiden Schalter (eigene) in der DB gedrückt wurden.
Informationen aus dem Hauptdok. werden automatisch in die DB geschreiben. Aber Änderungen werden nicht an das Hauptdokument zurückgeschriebn. Das liegt an den eigenen Schaltern.
Jetzt habe ich noch nicht ganz verstanden wie ich die DB in ein temp. Dok umwandle und im Hauptdok darauf zugreifen kann !
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln