IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

[forms10g]Problème de synchronisation avec les javabeans


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut [forms10g]Problème de synchronisation avec les javabeans
    Bonjour à tous,

    Je continue mes tests sur les javabeans et je rencontre un problème de synchronisation.

    Voici le code que j'ai dans un trigger WHEN-BUTTON-PRESSED dans forms :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set_custom_property ('JAVABEAN.MON_BEAN', 1, 'VALDEF', 'TOTO');
    set_item_property ('JAVABEAN.MON_BEAN', visible, property_true);
    Dans le javabean dans la fonction setProperty voilà ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
      public boolean setProperty (ID propriete, Object valeur)
      {
        // Definition valeur par defaut
       if (propriete == VALDEF)
        {
           String valeur_defaut = valeur.toString().trim();
           System.out.println ("Valeur par defaut : " + valeur_defaut);
           // Traitement
        }
        else if (propriete == ID.VISIBLE)
        {
          System.out.println ("Modification propriete visible");
          // Traitement
     
        }
        return super.setProperty (propriete, valeur);
    Et à l'exécution dans ma console java, voici ce que j'obtiens :
    Modification propriete visible
    Valeur par defaut : TOTO
    Le soucis est que évidemment quand mon javabean s'affiche, la valeur par défaut n'est pas affichée... Ai-je fait une erreur ? Y a-t-il un moyen pour forcer l'exécution dans l'ordre des instructions données ?

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Il est peut-être possible qu'aucune communication n'ait lieu avec le bean lorsque celui-ci n'est pas affiché.
    Peut-être peux-tu t'en sortir en masquant le bean lui même (setVisible(false) plutôt qu'en laissant Forms gérer avec Set_Item_Property( VISIBLE ).

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Par défaut
    .. j'ai déja eu un pb similaire dont je m'étais sorti en faisant un get_custom_property aprés le set_custom_property afin de pouvoir utiliser mon bean de façon 'synchrone' ...

    CDLT.

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Citation Envoyé par taska
    .. j'ai déja eu un pb similaire dont je m'étais sorti en faisant un get_item_property aprés le set_item_property afin de pouvoir utiliser mon bean de façon 'synchrone' ...
    Oui c'est ce que j'ai fait, mais je trouve cela pas très propre.

    L'idéal aurait été de pouvoir utiliser FBEAN

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Par défaut
    excuses moi ...
    j'ai modifié le get_item_property par un get_custom_property ...

    CDLT.

  6. #6
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Sheik, tu avais raison, il semble que lorsque que l'item contenant mon bean n'est pas visible, les propriétés passées par set_custom_property ne sont modifiées qu'une fois l'item (de nouveau) visible. J'ai l'impression que les propriétés passées sont mémorisées et appliquées une fois l'item visible. A confirmer...

    Par contre je n'ai pas réussi à faire fonctionner ta solution . Si tu as une explication, je suis preneur, sinon je clorai le sujet. Pour info voilà ce que j'ai fait :
    * javabean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       else if (propriete == AFFICHE)
        {
           String visible = valeur.toString().trim();
           if (visible.equalsIgnoreCase("true"))
           {
             System.out.println ("AFFICHE=TRUE");
             setVisible(true);
           }
           else
           {
             System.out.println ("AFFICHE=TRUE");
             setVisible(true);
           }
    *forms (l'item contenant le bean est toujours visible)
    - WNFI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_custom_property ('JAVABEAN.MONBEAN', 1, 'AFFICHE', 'false');
    - WBP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_custom_property ('JAVABEAN.MONBEAN', 1, 'AFFICHE', 'true');
    => il le cache bien dans le WNFI
    => dans le WBP, il fait bien le setVisible(true) mais rien ne se passe au niveau de l'écran...

    taska, la solution avec get_custom_property ne fonctionne pas (plantage de forms), je pense que cela vient du fait que l'item contenant mon bean n'est pas visible.

    La solution que j'ai finalement adoptée et de gérer au niveau de la classe java, le raffraichissement de l'affichage de tout ce qui concerne la valeur par défaut.

    En tout cas merci à vous deux de vous être penché sur mon problème. Je pense désormais avoir (à peu près) compris le fonctionnement des javabeans.

  7. #7
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Citation Envoyé par SheikYerbouti
    Il est peut-être possible qu'aucune communication n'ait lieu avec le bean lorsque celui-ci n'est pas affiché.
    Oui, j'y avais pensé, mais dans ce cas une fois caché (setVisible(false)), impossible de le réafficher.

    A mon avis la communication via set_item_property est plus rapide qu'avec set_custom_property, j'ai fait d'autres tests qui semblent le confimer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de synchronisation avec les tables
    Par rimy2mi dans le forum Hibernate
    Réponses: 0
    Dernier message: 11/11/2009, 10h14
  2. Problèmes de pointeurs avec les arbres
    Par thierry57 dans le forum C
    Réponses: 17
    Dernier message: 22/12/2005, 23h35
  3. [EJB] Différence avec les JavaBeans
    Par gilles641 dans le forum Java EE
    Réponses: 16
    Dernier message: 08/11/2005, 16h17
  4. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  5. Réponses: 6
    Dernier message: 19/05/2005, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo