Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 01.12.03 - 09:22:59
Titel: LS Dialogbox Werteübergabe
Beitrag von: TomLudwig am 01.12.03 - 09:22:59
Hi, ich habe 2 Masken die beide das gleiche Feld (Optionsschaltfläche mit 3 Werten) beinhalten (wurde per Copy/Paste eingefügt). Nun soll in per DialogBox das Feld geändert werden. Funktioniert aber nicht.
Hier der eingesetzte Quellcode:
Sub Click(Source As Button) Dim doc As NotesDocument Dim uiwork As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim flag As Variant
Set uidoc = uiwork.CurrentDocument Set doc = uidoc.Document flag = uiwork.DialogBox( "Groesse", True, True, True, True, True, False, "Auswahl Größe", doc, True, False) End Sub
Ich möchte das Document noch nicht speichern. Ich möchte dass, das Feld zur "Laufzeit" schon geändert wird um dann es für weitere Berechnungen abzufragen.
Dann kann der Benutzer immernoch entscheiden ob er es speichern will oder nicht.
Dim doc As NotesDocument
Dim uiwork As New NotesUIWorkspace
Dim flag As Variant
flag = uiwork.DialogBox( "Grösse", True, True, True, True, False, False, "Auswahl Grösse")
Wenn du das CurrentDocument nimmst brauchst du das doc nicht anzugeben.
Ich wähle eine Optionsschaltfläche in der Dialogbox aus und es wird leider noch nicht übernommen ins Hauptdokument. Auch wenn ich die Dialobox ohne "doc" öffne... Was mache ich falsch?
Titel: Re:LS Dialogbox Werteübergabe
Beitrag von: Axel am 01.12.03 - 10:49:05
Hi,
meines Erachtens kann das nicht gehen, da anscheinend die eigentliche Maske und die Dialogbox 2 verschiedene Masken sind.
Versuch's mal so:
Sub Click(Source As Button) dim session As New NotesSession Dim db As NotesDatabase Dim doc As NotesDocument Dim docdlg As NotesDocument Dim uiwork As New NotesUIWorkspace Dim uidoc As NotesUIDocument
Set db = session.CurrentDatabase Set uidoc = uiwork.CurrentDocument Set doc = uidoc.Document
Set docdlg = New NotesDocument(db) If uiwork.DialogBox( "Groesse", True, True, True, True, True, False, "Auswahl Größe", docdlg, True, False) Then doc.Feldname = docdlg.Feldname Else 'Es wurde im Dialog auf Abbrechen geklickt End If
Ich habs mir im Debugger angeschaut und in "docdlg" sind gar keine Items vorhanden. Normalerweise müsste doch das Feld Größe wenigstens angezeigt werden.
1.Du hast dein Dokument mit der Optionsschaltfläche "XY" im Bearbeitungsmodus mit der Maske "A" geöffnet. 2. Du klickst in diesem Dokument auf deinen Button mit meinem Script und das Dokument wird mit der Maske "B" geöffnet. (Diese Maske muss natürlich eine Optionsschaltfläche haben die genau gleich ist wie in Maske "A") 3.Dort wählst du einen Wert der Optionsschaltfläche aus und bestätigst mit ok und der Wert wird in das Dokument übernommen.