Oracle Fusion Middleware Blog

Deutsche Informationen rund um Oracle Fusion Middleware

Persistente Referenzen in Forms erzeugen

with one comment

Ein Kunde berichtete, dass er innerhalb eines Forms-Programmes ein neues Java-Objekt mit:
obj := myclass.new();
erzeugt habe.
Während der erste Aufruf einer Methode mit diesem Objekt noch funktionierte, bekam er beim zweiten Aufruf die Fehlermeldung “Unable to call out to Java, Invalid object type for argument 1”.
Bei näherer Betrachtung stellte sich schnell heraus, dass das Objekt offensichtlich nach dem ersten Aufruf nicht mehr existierte. In der Dokumentation heißt es dazu, dass die Lebensdauer des Objektes auf die Laufzeit der Programmeinhzeit bzw. des Triggers beschränkt ist.

Forms bietet hier die Möglichkeit, durch eine persistente Referenz das Objekt am Leben zu erhalten:
mypkg.instobj := ORA_JAVA.NEW_GLOBAL_REF(obj);

Jetzt kann das Objekt aus verschiedenen Programmeinheiten bzw. Triggern referenziert werden.
Zum Schluss sollte man nicht vergessen, diese Referenz wieder mit DELETE_GLOBAL_REF() zu entfernen.

<JM>

Written by fmtechteam

07/12/2008 um 21:03

Veröffentlicht in Forms, Jürgen Menge

Tagged with ,

Eine Antwort

Subscribe to comments with RSS.


Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: