Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: littleS am 06.04.05 - 11:49:39

Titel: Problem mit DialogBox
Beitrag von: littleS am 06.04.05 - 11:49:39
Mahlzeit zusammen,

- Der Benutzer klickt einen button und über
    Call gworkspace.DialogBox("frmTeilnehmer2",True,True,True,False,False,False,"Teilnehmer auswählen",,True)
   wird eine DialogBox aufgerufen. Ich habe nun das Problem, daß ich nicht weiß, ob innerhalb der aufgerufenen DialogBox Änderungen vorgenommen wurde oder nicht. Und deshalb erscheint z.Z. immer der Dialog "Do you want to save your changes?". Weiß jemand wie ich im aufrufenden Dokument ein Flag setzen kann, falls in der DialogBox etwas geändert wurde?

Hier etwas code:

Sub Click(Source As Button)
   
  On Error Goto myerrhandle
   
  If guidoc.EditMode Then
    Call gworkspace.DialogBox("frmTeilnehmer2",True,True,True,False,False,False,"Teilnehmer auswählen",,True)
    guidoc.Refresh
    //...
    gdoc.SaveOptions = "1"
    gdoc.TerminTeilnOK = "1"
  else
     Call gworkspace.DialogBox("frmTeilnehmer2",False,False,False,False,False,True,"Teilnehmer auswählen")
  end if
Titel: Re: Problem mit DialogBox
Beitrag von: Axel am 06.04.05 - 12:21:57
Hi,

wenn ich das richtig sehe, werden die Werte in das darunterliegende geöffnete Dokument übernommen. Wenn das Dokument dann geschlossen wird, kommt,wenn über den Dialog was gändert wurde, die Speicheraufforderung. Wenn nichts geändert wurde, dann kommt diese Aufforderung auch nicht. Oder sehe ich da was falsch.


Axel
 
Titel: Re: Problem mit DialogBox
Beitrag von: littleS am 06.04.05 - 13:06:19
Hi,

in einem Kalender Doppelklicke ich auf einen Termin. In der Terminmaske
klicke ich dann auf den Button zur Teilnehmerauswahl.
Also nach dem Klick auf den Button und folgender Aktion:

                          DialogBox
                                  |         Terminmaske
                                  |              |
1) keine Änderung, <ESC>, <ESC>    -> "Do you want to save.."-Dialog (falsches Verhalten, da ja nichts geändert wurde)
2) keine Änderung, <OK>,   <ESC>    -> ...-Dialog (ebenfalls falsch)
3) Änderung,          <ESC>,  <ESC>    -> ...-Dialog (korrektes Verhalten)
4) Änderung,          <OK>,    <ESC>    -> ...-Dialog (korrektes Verhalten)


s.
Titel: Re: Problem mit DialogBox
Beitrag von: Axel am 06.04.05 - 13:41:58
Hi,

ich denke mal, dass irgendwas in dem Dokument, durch den Aufruf der Dialogbox geändert wird.

Du könntest bei Öffnen des Dokumentes alle Feldinhalte auslesen und beim Beenden einen Vergleich durchführen. Wenn Unterschiede sind, dann wurde das Dokument geändert, sonst setzt du SaveOptions auf "0".


Axel
Titel: Re: Problem mit DialogBox
Beitrag von: littleS am 06.04.05 - 15:03:31
Hi,

Call workspace.DialogBox(...) liefert ja "TRUE" zurück, wenn die Dialogbox beendet wurde, gibt es denn auch eine Möglichkeit einen Wert zurückzugeben in Abhängigkeit, ob innerhalb der Dialogbox etwas geändert wurde?

In dem aufrufenden Dokument wird immer etwas geändert so wie es aussieht, ich möchte allerdings "gdoc.SaveOptions" setzen, je nachdem, ob in der aufgerufenen DialogBox Änderungen durchgeführt wurden oder nicht.


s.
Titel: Re: Problem mit DialogBox
Beitrag von: Glombi am 06.04.05 - 15:06:06
Du musst die Werte beim Öffnen der Dialogbox 
speichern und dann mit denen beim Verlassen vergleichen.

Andreas
Titel: Re: Problem mit DialogBox
Beitrag von: Axel am 06.04.05 - 15:11:00
Call workspace.DialogBox(...) liefert ja "TRUE" zurück, wenn die Dialogbox beendet wurde, gibt es denn auch eine Möglichkeit einen Wert zurückzugeben in Abhängigkeit, ob innerhalb der Dialogbox etwas geändert wurde?

Nein, True wird zurückgegeben wenn der Dialog mit OK beendet wurde. Bei Abbrechen ist der Rückgabewert False.

Was du versuchen könntest ist folgendes.

Im QueryOpen-Event weist du alle Feldinhalte Variablen zu. Im QueryClose-Event vergleichst du dann die aktuellen Feldinhalte und die Variablen miteinander. Wenn Unterschiede sind setzt du dann ein Feld. Diese Feld kannst du dann auswerten.


Axel
  
Titel: Re: Problem mit DialogBox
Beitrag von: littleS am 06.04.05 - 15:12:41
hi,

ja ich werde das so mal probieren.
Danke erstmal, mehr dazu morgen früh :)

s.