Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ZaLudtske am 28.11.06 - 13:45:20

Titel: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 13:45:20
Hallo,

ich habe zur Zeit das Problem, dass das Exiting-Event nicht ausgelöst wird. Wenn ich aus dem Feld springe passiert nichts. Keine Reaktion. Weder der Debugger wird gestartet noch die Messagebox im Code wird angezeigt.

Hat jemand eine Idee, an was es liegen könnte?

Rainer
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Axel am 28.11.06 - 14:00:30
Wo springst du denn hin?

Der Debugger tut sich meines Wissens da ein bisschen schwer mit diesem Event.

Was aber dabei zu beachten ist, wenn du in dem entsprechenden Feld stehst und das Dokument direkt speicherst oder schließt wird das Exiting - Event nicht ausgeführt.


Axel

 
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 14:08:18
Ich springe nirgends hin. Die einzige Anweisung, das Ausführen einer Subroutine wird nicht ausgeführt. Wenn ich diese Routine hingegen von einer Aktion aus aufrufe wird diese fehlerfrei ausgeführt.

Rainer
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Thomas Schulte am 28.11.06 - 14:29:27
Wenn du in den Exiting Event eines Feldes was reinprogrammierst und hinter diesem Feld kommt nichts mehr, kein anderes Feld), dann triggert dieser Event nicht, denn schließlich kannst du ja nicht weiter gehen, folglich auch das Feld nicht verlassen.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: koehlerbv am 28.11.06 - 14:31:56
Doch, Thomas - Du kannst ja auch ein vorangehendes Feld anspringen.

Bernhard
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Thomas Schulte am 28.11.06 - 14:40:54
Das zählt aber nur dann wenn du rückwärts klickst. Bei so klassischen Sachen wie ein Maske mit einem Feld bist du in diesem Fall der Looser ....

Und versuch mal einem Benutzer klarzumachen, das er rückwärts gehen muss damit in dem Feld etwas passiert.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Axel am 28.11.06 - 14:44:01
Ich springe nirgends hin.

Ich meinte damit, ob du zu einem anderen Feld springst oder das Dokument speicherst bzw. schließt.


Axel
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 14:56:19
Hallo,

ich muß mich entschuldigen. Wer sich nicht klar ausdrückt darf auch keine Antwort erwarten.

Ich springe mit der Tab-Taste von Feld zu Feld. Die Felder mit dem Event-Handler liegen am Anfang der Maske, so dass zwangsläufig in dieser Maske in ein anderes Feld gesprungen wird.

Zitat
Ich springe nirgends hin.

Ich meinte damit, dass der Debugger nicht anspringt und nicht in den Code springt.

Rainer
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Thomas Schulte am 28.11.06 - 15:30:22
bau doch einfach mal einen Print in deinen Code mit ein.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: koehlerbv am 28.11.06 - 15:39:23
Eine Messagebox hat er doch schon bemüht, Thomas. Ein Print wird sich da nicht anders verhalten.

Ich persönlich habe so ohne Code bzw. ohne den Gesamtkontext der Maske zu sehen echt keinen Peil mehr.

Bernhard
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 15:58:21
Hallo Bernhard,

anbei der Code

Exiting-Event
Code
Sub Exiting(Source As Field)
'Funktion:	Die Prozedur führt beim Verlassen des Feldes die Prüfung ob Gebuehren anfallen durch
'
'Argumente:	Source; Objekt-Variable vom Typ 'Field', welche den Bezug auf das aktuelle Field übergibt
'
'Rückgabe: keine
'
'Call:			subPruefenGebuehren (Globals)
'
'Prozedur
	
	subPruefenGebuehren
	
End Sub

Aufgerufene Prozedur
Code
Public Sub subPruefenGebuehren()
'Funktion:	Die Prozedur überprüft ob Gebühren für die Rücküberweisung anfallen und schreibt das Ergebnis in 
'					das Feld 't_GebuehrenFlag'.
'
'Argumente:	keine
'
'Rückgabe:	keine
'
'Calls:			keine
'
'Variablendeklaration
	'Objekt-Variablen
	Dim nwuGUI As notesuiworkspace
	Dim nduThis As notesuidocument
	Dim ndoDoc As notesdocument
	
	'Variant-Variablen
	Dim vntValue As Variant
	
'Prozedur
	
	Messagebox "Otto"
	
	Set nwuGUI = New notesuiworkspace
	Set nduThis = nwuGUI.currentdocument
	Set ndoDoc = nduThis.document
	
	vntValue = ndoDoc.getitemvalue("t_FswGebBelast")
	
	If vntValue(0) = "B" Then	
		vntValue = ndoDoc.getitemvalue("t_FswKriterienGebBelast")
		vntValue = Evaluate(vntValue(0), ndoDoc)
		
	End If
	
	ndoDoc.replaceitemvalue "t_GebuehrenFlag", vntValue(0)
	
	nduThis.refresh
	nduThis.refreshhideformulas
	
End Sub

Zur Maske:
Die betreffenden Felder bis auf eins mit Hide-When-Fromel belegt und werden dynamisch ein- und ausgeblendet. Außerdem liegen die Felder innerhalb von Tabellen (nur falls das von Bedeutung sein sollte). Beim Verlassen soll eine Prüfung der Werte durchgeführt werden und ein entsprechendes Kennzeichen gesetzt werden. Leider kann ich die Prüfung nicht mit der Formelsprache durchführen, außer es gibt ein Gegenstück zum LS Evaluate.
 
In der Maske ist die Option 'Felder automatisch aktualisieren' aktiviert.

Reicht das an Information?

Rainer
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Thomas Schulte am 28.11.06 - 16:05:50
Ja hat er , aber nur in die Sub. Nicht in den Exiting Event des Feldes selber. Da würde ich den als erstes mal reinpacken.

und es gibt einen @Eval der dasselbe macht wie Evaluate. nur leider erst ab V6
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 16:17:57
Hallo Thomas,

ich habe die Prozedur auch mal ein betroffenes Exiting-Event gepackt. Das brachte aber auch keine Besserung.

Leider muß ich mit R5 entwicklen und leben, da noch nicht auf eine höhere Version migriert wurde, so daß ich ohne das schöne @Eval leben muß.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 16:24:10
Noch ein paar Zusatzinfos

Das Entering-Event wird auch nicht gefeuert. Dafür wird aber das onBlur-Event unter JavaScript ausgelöst.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: Axel am 28.11.06 - 16:27:42
Du rufst die Maske aber schon im Notes-Client auf, oder?


Axel
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 28.11.06 - 16:32:21
Ja, Web-Entwicklung betreibe ich nur mit Ruby On Rails und ASP.NET.
Titel: Re: Exiting-Event wird nicht ausgelöst
Beitrag von: ZaLudtske am 29.11.06 - 08:59:36
Das Problem ist gelöst.

Ich habe mich hingesetzt und die komplette Maske neu erstellt und siehe da die Events werden aufgerufen. ???

Ich wüßte aber wirklich gerne, was da in der Maskedefinition passiert ist, dass die Event nichts ausgelöst wurden.

Rainer