Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: HarryB am 06.09.04 - 14:07:47

Titel: DialogBox validieren
Beitrag von: HarryB am 06.09.04 - 14:07:47
Hi Folks,

angenommen, ich will eine DialogBox in einem Event mit LotusScript validieren (weil zum Beispiel die Bedingungen sehr komplex sind und sich mit der Formelsprache nicht oder nicht so einfach umsetzen lassen), welchen Event sollte ich dann verwenden? QuerySave ist ja eher Humbug, da der Dialog ja nicht als Dokument gespeichert wird. Die Frage ist nur, wann löst QueryClose aus, wenn ich den "OK" Button drücke? Hinter dem "OK" Button steckt ja auch immer ein RefreshParentNote...

Viele Grüße
Harry
Titel: Re:DialogBox validieren
Beitrag von: Semeaphoros am 06.09.04 - 15:23:04
QueryClose ist bestens dafür geeignet, wenn die Bedingungen nicht erfüllt sind, lässt sich das Schliessen mit Continue = False genau gleich verhindern, wie das beim QueryClose bei normalen Dokumenten der Fall ist.
Titel: Re:DialogBox validieren
Beitrag von: Tode am 06.09.04 - 15:47:29
könntest Du das noch mal übersetzen, so dass man das auch versteht ?

Was willst Du wo validieren ?

Habe ich das richtig verstanden, dass Du eine Dialogbox aufmachst, und dann per Script validieren willst, bevor die Dialogbox geschlossen wird ?

Dann ist das ganz einfach: Dialogbox mit nocancel und nookcancel aufrufen...

dann in die Dialogbox selbst Deine Buttons "OK" und abbrechen bauen, mit Script- Code:

Sub Click()
{Deine evaluierung}
if eval OK then
call ws.RefreshParentNote
call uidoc.FileCloseWindow
else
exit sub
end if
End Sub

HTH
Tode
Titel: Re:DialogBox validieren
Beitrag von: Semeaphoros am 06.09.04 - 15:50:01
Tode: der Kopfstand mit selbstgebauten Buhtongs ist nicht nötig, das kann alles bestens im QueryClose abgehandelt werden, es sei denn, man hat es mit einer Diabox innerhalb einer Diabox zu tun, dort gibt es einen Bug, der das Aufrufen des QueryClose der verschachtelten Diabox verhindert, ansonsten ist das absolut problemlos und bei mir in verschiedenen Apps so gelöst.
Titel: Re:DialogBox validieren
Beitrag von: Tode am 06.09.04 - 15:58:41
hmmm... nur mal ne Frage rein interessehalber: wird der (intern codierte) RefreshParentNote beim klicken auf "OK" VOR oder NACH dem Queryclose- Event durchgeführt ?

Thanx
Tode

P.S.: Warum einfach wenn's auch kompliziert geht... *g* Da habe ich den Wald vor lauter Bäumen nicht gesehen...

Titel: Re:DialogBox validieren
Beitrag von: HarryB am 06.09.04 - 16:03:05
hmmm... nur mal ne Frage rein interessehalber: wird der (intern codierte) RefreshParentNote beim klicken auf "OK" VOR oder NACH dem Queryclose- Event durchgeführt ?

Das sollte der eigentliche Kern meiner Frage sein... ;)

Viele Grüße
Harry
Titel: Re:DialogBox validieren
Beitrag von: Semeaphoros am 06.09.04 - 16:21:46
Könnte ich nicht auswendig sagen, da man aber den QerryClose abbrechen kann, wäre es ein Bug, wenn  der Refresh VOR dem QeryClose kommt. Ich verwende für Diaboxen sowieso immer temporäre Dokumente, aus denen ich dann die relevanten Daten selber ins Hauptdokument kopiere, damit kann ich auch jede Menge Hilfsfelder verwenden, ohne dass ich damit das Hauptdokument zumülle, setzt allerdings voraus, dass die Diabox von Script und nicht von @Formel aufgerufen wird.
Titel: Re:DialogBox validieren
Beitrag von: Glombi am 06.09.04 - 18:02:24
Noch eine Ergänzung: Damit nicht validiert wird, falls der Button ABBRECHEN geklickt wurde, sollte man das wie folgt abfragen:

If not Source.DialogBoxCanceled then

.... hier dann der Code

End if

Andreas
Titel: Re:DialogBox validieren
Beitrag von: Semeaphoros am 06.09.04 - 18:06:06
Danke Andreas, das war wirklich noch ein wichtiger Hinweis, das zeigt übrigens auch, dass das auch so vorgesehen ist.
Titel: Re:DialogBox validieren
Beitrag von: koehlerbv am 06.09.04 - 18:07:47
... und das ParentNoteRefresh wird natürlich nach QueryClose ausgeführt (was man leicht durch Ausprobieren hätte eruieren können bzw. was auch die DialogBoxCanceled-Property regelrecht impliziert  ;D )

Bernhard
Titel: Re:DialogBox validieren
Beitrag von: HarryB am 07.09.04 - 09:24:00
Ich verwende für Diaboxen sowieso immer temporäre Dokumente, aus denen ich dann die relevanten Daten selber ins Hauptdokument kopiere, damit kann ich auch jede Menge Hilfsfelder verwenden, ohne dass ich damit das Hauptdokument zumülle, setzt allerdings voraus, dass die Diabox von Script und nicht von @Formel aufgerufen wird.

Das mache in der Regel auch. :)

Vielen Dank für die Tipps.

Viele Grüße
Harry