Random form freeze [message #362185] |
Mon, 01 December 2008 05:06 |
Truly
Messages: 2 Registered: November 2008 Location: Novi Sad, Serbia
|
Junior Member |
|
|
Greetings,
I am using Oralce Designer 10.1.2.0.2 on Windows XP Professional SP3 v3264. I am a part of a team developing an asset management and monitoring application.
I have a form which should be showing data from table AMM_POSAOD in hierarchical way. So I designed the form with 3 blocks. First one is TREE_BLK with a tree item, the second one (AMM_POSAOD) is showing details of the selected node in the tree and the third one (DUGMAD) is showing two buttons.
My problem is that form random freezes so that you can't do anything on it except selecting tree nodes. Even tool-bar and menu of the application doesn't work. Form works again if you restart the application, but it can freeze like I described above in any moment. Usually this happens right after you call the form from menu.
Java console output after freeze:
Oracle JInitiator: Version 1.3.1.22
Using JRE version 1.3.1.22-internal Java HotSpot(TM) Client VM
.
.
.
Forms Applet version is : 10.1.2.0
Exception occurred during event dispatching:
java.lang.IllegalArgumentException: oracle.forms.ui.TreeDataSource.getData(): illegal index
at oracle.forms.ui.TreeDataSource.getData(Unknown Source)
at oracle.forms.ui.TreeFactory.createItem(Unknown Source)
.
.
.
I populate TREE_BLK in WHEN-NEW-FORM-INSTANCE trigger.
DECLARE
hTree ITEM;
v_Ignore NUMBER;
rg_emps RECORDGROUP;
Where_Clause VARCHAR2(4000);
BEGIN
Where_Clause := 'status = ''A''';
IF :parameter.p_Lov_Mode = 1 THEN
IF :parameter.p_Where_Clause IS NOT NULL THEN
Where_Clause := Where_Clause
||' and ' ||: Parameter.p_Where_Clause;
Set_Block_Property('AMM_POSAOD',Default_Where,Where_Clause);
END IF;
Set_Item_Property('dugmad.povratak',Visible,Property_True);
ELSE
Set_Item_Property('dugmad.povratak',Visible,Property_False);
END IF;
hTree := Find_Item('tree_blk.tree');
fTree.Set_Tree_Property(hTree,fTree.Allow_Empty_Branches,Property_False);
rg_emps := Create_Group_From_Query('rg_emps','select 1,level,naziv,null,POSAOD_PK
from AMM_POSAOD p1 where '
||Where_Clause
||'
start with
(SELECT p2.POSAOD_PK
FROM amm_posaod p2
WHERE '
||Where_Clause
||' and p2.POSAOD_PK = p1.POSAOD_POSAOD_PK_NAD) IS NULL
connect by prior POSAOD_PK =
(SELECT p2.POSAOD_PKFROM amm_posaod p2 WHERE '
||Where_Clause
||' and p2.POSAOD_PK = p1.POSAOD_POSAOD_PK_NAD)');
v_Ignore := Populate_Group(rg_emps);
fTree.Set_Tree_Property(hTree,fTree.Record_Group,rg_emps);
END;
I populate second block in WHEN-TREE-NODE-SELECTED trigger of the tree.
DECLARE
Node_Value VARCHAR2(512);
blk_Id BLOCK;
ExistIng_Where_Clause VARCHAR2(512);
New_Where VARCHAR2(512);
BEGIN
Node_Value := fTree.Get_Tree_Node_Property('TREE_BLK.TREE',:system.Trigger_Node,fTree.Node_Value);
blk_Id := Find_Block('AMM_POSAOD');
ExistIng_Where_Clause := Get_Block_Property(blk_Id,Default_Where);
Set_Block_Property(blk_Id,Query_Allowed,Property_True);
New_Where := 'posaod_pk='
||Node_Value;
Set_Block_Property(blk_Id,Default_Where,New_Where);
Go_Block('AMM_POSAOD');
Execute_Query;
Set_Block_Property(blk_Id,Default_Where,ExistIng_Where_Clause);
Go_Block('TREE_BLK');
END;
I have uploaded fmb of the form for more information.
Also, I have tried to make a simple version of the form using Oracle Form Builder 10.1.2.0.2 with just one block containing the tree with slightly changed WHEN-NEW-FORM-INSTANCE trigger and even that simple form freezed in the same way.
Before I decided to post and ask for your help, I did some searching. I have found a post describing a similar problem. In some replys to that post, it has been said that random freezes where JInitiator bug and that upgrading to a new version would help. But that was for version much older then mine.
Right now I am really clueless and any help would be much appreciated.
Best regards.
-
Attachment: AMF2020.FMB
(Size: 296.00KB, Downloaded 4595 times)
|
|
|
|
Re: Random form freeze [message #538622 is a reply to message #538614] |
Sat, 07 January 2012 12:33 |
Truly
Messages: 2 Registered: November 2008 Location: Novi Sad, Serbia
|
Junior Member |
|
|
It has been quite a while since I left that firm and I can't remeber what was the solution. I think we solved it by installing the latest JInitiator version. If it doesn't work for you I will try to find out the solution by contacting my former colleagues.
|
|
|