Domino 9 und frühere Versionen > ND8: Entwicklung

Notes Event Handling verbuggt?

(1/2) > >>

Dubidu:
Hallo an alle,
ein einfaches Szenario:

In einer Maske existiert ein Feld, in dem im Exiting-Event eine Messagebox ausgegeben wird und ein Button, der ebenfalls eine Messagebox ausgibt.

Ist nun der Fokus im Feld und man klickt auf den Button, wird verständlicherweise zuerst der Exiting-Code vom fokussierten Feld ausgeführt. Was aber passiert ist folgendes: Nach dem die Messagebox vom Exiting-Code ausgegeben wurde, bleibt der Button, auf den man gedrückt hat, eingerastet und es wird kein weiterer Code ausgeführt! Erst wenn man nochmals auf den Button oder auf eine freie Fläche drückt, rastet der Button wieder aus und die Messagebox vom Button wird ausgegeben!

Das alles passiert nur, wenn im Exiting-Event vom Feld eine Messagebox ausgegeben wird! Wird stattdessen beispielsweise ein Print ausgegeben, wird der Code vom Button direkt unmittelbar ausgegeben!

Kennt jemand dieses Verhalten und gibt es dazu einen Workaround?!
Ich konnte dieses Verhalten unter Notes 6.5 und höher reproduzieren, niedrigere Versionen habe ich nicht getestet.

Liebe Grüße
Giordano

koehlerbv:
Der ewige Kampf "Frontend versus Backend" ... Dem Debugger macht das besonders zu schaffen. Einen Workaround kann ich mir nicht vorstellen, und ich sehe da auch nichts in Richtung "show stopper". Wenn Du solche Teile debuggen musst, bau halt den Code Debugger-freundlicher um, damit das wesentliche doch im Debugger ablaufen kann.

Bernhard

Dubidu:
Hi Bernhard,
danke für deine Antwort, aber mein Problem hat leider nichts mit Debugging zu tun. Tatsächlich soll dem End User im Exiting-Event eine Messagebox angezeigt werden. Und hier liegt der Hund begraben: Der Code läuft einfach nicht mehr weiter und bleibt im Exiting Event hängen, es sei denn man klickt beispielsweise auf eine freie Fläche!

Den Code kann ich leider nicht mal eben so umstellen, weil dann die ganze Logik kaputt geht und nebenbei bemerkt auch nicht von mir programmiert wurde. Umprogrammieren würde also längere Zeit in Anspruch nehmen und ein Bug, der mindestens seit Notes 6.5 vorhanden ist, ist einfach nicht zumutbar!

Liebe Grüße
Giordano

koehlerbv:
Sorry Giordano - den Debuggr habe ich da in Dein Posting wohl einfach hinein interpretiert. Kannst Du noch genaueres zu Deinem Problem schreiben? Ich nehme an, dass der Kern meiner Replik auch mit dieser Situation noch nicht ad adsurdum geführt wurde: Da wird sich etwas "beissen", und das gilt es zu finden ("Print" ist ja auch etwas ganz anderes als "Dialogbox").

Bernhard

Dubidu:
Hi Bernhard,
mein Problem ist innerhalb 3 Minuten(!) praktisch nachvollziehbar:

1. Leere Maske erstellen
2. Ein Feld erstellen
2.1 Im Exiting Event vom Feld eine Messagebox ausgeben
3. Ein Button erstellen
3.1 Der Button soll eine Messagebox ausgeben, wenn auf ihn geklickt wird.

Und nun das Szenario:

1. Form im Notes-Client öffnen
2. Der Focus/Mauszeiger sollte im Feld sein.
3. Auf den Button klicken
4. Das Exiting-Event vom Feld wird ausgelöst
4.1. Nun erwartet man, dass danach der Code vom Button ausgelöst wird --> Fehlanzeige. Der Button bleibt eingerastet und nichts passiert!
5. Entweder auf eine leere Fläche oder nochmals auf den Button klicken --> Code vom Button wird nun endlich ausgeführt!

Wird jedoch statt der Messagebox ein Print im Exiting Event ausgeführt, wird unmittelbar nach dem Exiting der Button-Code ausgeführt!

Liebe Grüße
Giordano

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln