Overblog
Suivre ce blog
Editer l'article Administration Créer mon blog
3 avril 2011 7 03 /04 /avril /2011 07:57

When you migrate to the latest Forms version (10.1.2.3 or 11) and try using a JavaBean created with an older Forms version, you can get the following error, at runtime, in the Java Console:

Exception in thread "thread applet-oracle.forms.engine.Main-1" java.lang.NoSuchMethodError: oracle.forms.handler.IHandler.getApplet()Ljava/applet/Applet

The reason is you try to use a Java Bean compiled with an older Forms JAR file, like f90all.jar.
So, to correct the issue, you have to change the Java code then re-create the JAR file:

private Main         formsMain = null;

Replace:

    formsMain  =  (Main) handler.getApplet();

by:

     // getting the Forms Main class
    try{
      Method method = handler.getClass()
                     .getMethod("getApplet", new Class[0]);

      Object applet = method.invoke(handler, new Object[0]);
      if (applet instanceof Main) {
         formsMain = (Main)applet;
      }    
    }catch(Exception ex) {;} 

Then create and deploy the new JAR file to your /forms/Java folder.

Partager cet article

Published by Oracle Forms community - dans Bean - general
commenter cet article

commentaires