Question

Intermittent forms errors related to Hint.PLL (part one)

Asked by: jtrifts

Note: there are really two problems here & I am looking for answers to the both questions...(hence the whopping points) but may give full points to someone who helps fix only the first.

We are experiencing some intermittent errors on two of our Oracle Forms modules which seem to be caused by calls to procedures in the Oracle Forms HINT library.  The two cases seem to be related, so I have grouped them together, but they are occurring on two different form modules.

Form A:

When the form initially opens, these error messages appear, at least 50% of the time:

FRM-41045: Cannot find item: invalid ID  (appears 3 times, and is sometimes followed by:)
FRM-41058: No such property for Get-Item-Property (which may appear by itself, or after the first messages)

These error messages are intermittent, apparently originating from within the attached Oracle HINT library, from the procedure HINT.ShowButtonHelpHandler, called from the form-level When-Timer-Expired trigger, which seems to fire on a fairly random basis in relation to when the form is initially called from the menu. (well at least it seems random)
      
The problem can be "fixed" by commenting out the call to the HINT procedure in the When-Timer-Expired  trigger, which is the only place it appears in the form.  The drawback is that the "balloon-help" hint text no longer appears.  With or without this fix, the business functionality of the form works exactly the same...just not as polished.

We have tried the following to fix the form:
1) run the form in debug mode
2) inserted my own messages: messages seem to affect the time of the initial appearance of the defect - an unreliable testing method
3) examined the code involved in form level triggers which fire before the messages appear (i.e.. code called from the Pre-Form or When-New-Form-Instance triggers).  There were no apparent anomalies.
4) created a local copy of the procedures in the Oracle HINT library, specifically, a copy of the HINT package and       package spec.  We won't modify this library itself, as we cannot predict how it will affect the other modules.  I placed messages in it too, in the hope of finding the cause of the error.  This is high-level code, and the results of this testing were inconclusive, as I don't precisely know what I should be looking for.

(now..the related question..but answer should be posted in part two)

Form B:  

This defect is also intermittent, and seems to stem from an unhandled exception which is being raised by the form-level When-Mouse-Enter trigger.  The form opens in ENTER-QUERY mode.  We EXECUTE-QUERY on any record in the topmost block, and wait a few seconds for all of the several master-detail relations to do their work and populate the other blocks on the form.  Upon placing the cursor over a button in the last block on the screen, which calls a popup block for data entry, the message FRM-40735 When-Mouse-Enter trigger raised unhandled exception Value-Error appears.  After it has appeared once, the same message will continue to appear whenever the mouse is moved.

Additional Information:
1) Moving the mouse before the form has finished populating all the blocks and then navigating to the last record of the last block on the form seems to precipitate the problem.
2) Although the application files are all kept on our LAN, the database is at the client site, and our connection is often SLOW.
3) We are using Pentium 133 workstations, Windows NT 4.0, Oracle Developer/2000 toolset (32-bit version - the version of Forms is 4.5.7.1.6) running against an Oracle7 Server 7.3.2.3.1 (with the distributed, replication and parallel query options).
      
Any help or advice you can offer would be appreciated.  Please let us know if you need more info.  Thanks.

JTrifts

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
1998-02-04 at 05:00:01ID10038037
Topic

Oracle Database

Participating Experts
3
Points
350
Comments
9

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. popup menu
    Is it possible to create a popup menu (at a right click event) in an oracle form at runtime containing items such as undo , redo etc? If so how?
  2. German stemming
    Hi, I'm now working on a Information retrieval project. I wonder if someone of you knows how to do stemming on the german words. Are there some Algorithms written in Java or C++? Thanx
  3. Combining e.g. word stemming and synonyms
    Hello I have a problem to perform a search query where I use both synonyms and word stemming. I have executed the following example in SQL*PLUS: -- drop table a; create table a (b varchar2(40) primary key); insert into a values ('walk'); insert into a values ('go...
  4. Generating Root  Words from Stemmed Words
    Dear Experts, I need to create an index that relates word-stemmed forms of words to their root form, but I do not know how to generate the root form from the stemmed variants. Can anyone help? I was hoping that perhaps there were some linguistic indexes or perhaps some d...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: jtriftsPosted on 1998-02-04 at 12:56:55ID: 1082076

Adjusted points to 150

 

by: jtriftsPosted on 1998-02-06 at 05:09:21ID: 1082077

Edited text of question

 

by: jtriftsPosted on 1998-02-06 at 05:09:49ID: 1082078

Adjusted points to 300

 

by: jtriftsPosted on 1998-02-09 at 09:21:56ID: 1082079

Adjusted points to 350

 

by: eoingPosted on 1998-02-24 at 10:46:38ID: 1082080

Some suggestions:

It is odd that you are receiving the FRM-41045 and FRM-41058 messages. You have verified that they originate from within HINT.PLL, so I assume that these messages do not relate to missing menu items or something like that. The HINT.PLL code fires whenever the cursor enters a new object on a canvas. It verifies that the object is a button, and also that it is an icon button. If the object is not an icon button, it does not try to display balloon help. It sounds like in your case, the HINT.PLL code is somehow getting past this point for an object that is NOT an icon button, and then the code tries to get a property that applies to a button, but not to the current object.
Maybe you can add messages to HINT.PLL that identify the object that it is trying to display balloon help for, to see if it is trying to do it for objects other than icon buttons.

Also, verify that you are using the current HINT.PLL that comes with your current version of Forms. I once tried upgrading to Forms 5.0, and immediately started getting VALUE_ERROR errors from HINT.PLL.

 

by: yesnaudPosted on 1998-03-09 at 07:07:55ID: 1082081

I looked the code and discovered that a procedure is calling three times get_item_property built-in function. This code is using a system variable to get the item on which the mouse cursor is. This might be the reason of your first problem (FRM 41045 Invalid ID)

A good way forward to check if this really the problem is to display the value of that system variable from the code itself.

What you have to do:
  1 - Open the hint.pll
  2 - Copy the code into your form program unit section.
  3 - Edit the package body.
  4 - Go to sync_mouse_info procedure declaration
    4.a - Modify the procedure to display the system variable:  

-- Procedure after modification.
PROCEDURE sync_mouse_info IS
  BEGIN
    mouse_item   := Name_In('SYSTEM.MOUSE_ITEM');
   
    -- Modification to display the item on which the mouse
    -- cursor is.
      MESSAGE (MOUSE_ITEM);
    --

    mouse_canvas := Name_In('SYSTEM.MOUSE_CANVAS');
    appInst      := TO_PLS_INTEGER(
                      Get_Application_Property(APPLICATION_INSTANCE));
    IF mouse_item IS NOT NULL THEN
      hWind        := TO_PLS_INTEGER(
                        Get_Item_Property(mouse_item,WINDOW_HANDLE));
      mouse_item_hint := Get_Item_Property(mouse_item,HINT_TEXT);
      IF SUBSTR(mouse_item_hint,1,1) = CHR(0) THEN
        mouse_item_hint := NULL;
      END IF;
    ELSE
      hWind := NULL;
    END IF;
  END;


  5 - (Removed the library from the form in attached library section)
  6 - Run the form, try to get the error message


  When you get the FRM 41045 error, look at the mouse item value, and check if it is a propert item name. If this item name doesn't exist in your form (or is null) then this is the problem


 

by: jtriftsPosted on 1998-03-24 at 07:31:50ID: 1082082

Apologies on taking so long to get back to this question...I have been out of country for the past 5 weeks...

I really should reopen this question and grant the points to eoing... the problem turned out to be due to the fact that we shouldn't have been using this call in the first place...it is not a button. (DYO!!!)

I had really got this one figured out before I went away...with some help from one of the Oracle Newsgroups (go figure)...here is the exact solution:

  IF :system.mouse_item IS NOT NULL THEN /*Condition A*/
    IF GET_ITEM_PROPERTY(:SYSTEM.MOUSE_ITEM,ITEM_TYPE) = 'BUTTON' THEN /*Condition B*/
      HINT.ShowButtonHelpHandler;
    END IF;
  END IF;

/*Condition A*/
This gets rid of (FRM-41045: Cannot find item: invalid ID) because the timer is expiring while the mouse is not on an item.

/*Condition B*/
This gets rid of (FRM-41058: No such property for Get-Item-Property) because even if your mouse is on an item while the timer expires, it may not be an item which has a LABEL. Procedure HINT.ShowButtonHelpHandler calls HINT.mouse_item_label which attempts to get this property of the :system.mouse_item.

In summary, HINT.ShowButtonHelpHandler should only be called when your mouse is on a Button.

However, I offered the points and I would be happy to let you have them...

Jonathan

 

by: lindaPosted on 1998-04-01 at 04:44:57ID: 1082083

...here is the exact solution:

       IF :system.mouse_item IS NOT NULL THEN /*Condition A*/
         IF GET_ITEM_PROPERTY(:SYSTEM.MOUSE_ITEM,ITEM_TYPE) =
     'BUTTON' THEN /*Condition B*/
           HINT.ShowButtonHelpHandler;
         END IF;
       END IF;

     /*Condition A*/
     This gets rid of (FRM-41045: Cannot find item: invalid ID) because the timer
     is expiring while the mouse is not on an item.

     /*Condition B*/
     This gets rid of (FRM-41058: No such property for Get-Item-Property)
     because even if your mouse is on an item while the timer expires, it may not
     be an item which has a LABEL. Procedure HINT.ShowButtonHelpHandler
     calls HINT.mouse_item_label which attempts to get this property of the
     :system.mouse_item.

     In summary, HINT.ShowButtonHelpHandler should only be called when your
     mouse is on a Button.

 

by: lindaPosted on 1998-04-01 at 04:47:51ID: 1082084

I posted the solution at the request of jtrifts so it can be saved in the previously asked questions.  

Linda Gardner
Customer Service @ Experts Exchange

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...