VBean - How to get the properties of Forms-blocks and -items via Java?
Rob DFeb 24 2010 — edited May 27 2010Hi All,
I'm starting a new Oracle-Form from a 'personal menu'-form. This new form needs context-data from the form that was active before the 'personal-menu'-form was started. But I don't know how to get this context-data (e.g. the value of item pers.pers_id)!
I can't use the forms-plsql 'find_block' or 'system.current_block' because the block I'm looking for is in another form.
I thought a VBean was the solution. handler.getApplet().getFrame().getComponents() gives me access to a tree-like set of Container-s. But when e.g. a Container is a button (VButton), the name of this button in java is *'VButton1'*, and not 'PB_PRINT' (= the itemname in Forms, the name I need).
There are some workarounds:
You can 'register' each item in a block of each form during form-startup. The forms have to be modified for this - not an option since there are hundreds of forms. (used by some programs at/via sheikyerbouti.developpez.com)
You can 'Try and see' what internal java name is used for every forms' items. This is not an option since our forms come in releases - I don't want to create a new cross reference each time. (suggestion on this Oracle forum)
You can use oracle.forms.jdapi to get access to the item-properties. But for this you need access to the source-fmb. It's a lot of overhead and I suspect it's not getting any faster... not an option!
Are there any other options?
Besides this, I'm also looking for a java-equivalent of forms 'system.current_block': how can I find the block that gets the input-focus when that form is activated?
I hope that somebody has a solution...
Greetings, Rob
(Platform: Forms 9, but we're going to upgrade soon)